ipv6: add ip6_flowlabel helper
And use it if possible. Signed-off-by: Florent Fourcot <florent.fourcot@enst-bretagne.fr> Reviewed-by: Hannes Frederic Sowa <hannes@stressinduktion.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
82e9f105a2
commit
3308de2b84
@@ -679,6 +679,11 @@ static inline __be32 ip6_flowinfo(const struct ipv6hdr *hdr)
|
|||||||
return *(__be32 *)hdr & IPV6_FLOWINFO_MASK;
|
return *(__be32 *)hdr & IPV6_FLOWINFO_MASK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline __be32 ip6_flowlabel(const struct ipv6hdr *hdr)
|
||||||
|
{
|
||||||
|
return *(__be32 *)hdr & IPV6_FLOWLABEL_MASK;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Prototypes exported by ipv6
|
* Prototypes exported by ipv6
|
||||||
*/
|
*/
|
||||||
|
@@ -845,7 +845,7 @@ static inline int ip6gre_xmit_ipv6(struct sk_buff *skb, struct net_device *dev)
|
|||||||
if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
|
if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
|
||||||
fl6.flowlabel |= (*(__be32 *) ipv6h & IPV6_TCLASS_MASK);
|
fl6.flowlabel |= (*(__be32 *) ipv6h & IPV6_TCLASS_MASK);
|
||||||
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FLOWLABEL)
|
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FLOWLABEL)
|
||||||
fl6.flowlabel |= (*(__be32 *) ipv6h & IPV6_FLOWLABEL_MASK);
|
fl6.flowlabel |= ip6_flowlabel(ipv6h);
|
||||||
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
|
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
|
||||||
fl6.flowi6_mark = skb->mark;
|
fl6.flowi6_mark = skb->mark;
|
||||||
|
|
||||||
|
@@ -1130,7 +1130,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||||||
if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
|
if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
|
||||||
fl6.flowlabel |= (*(__be32 *) ipv6h & IPV6_TCLASS_MASK);
|
fl6.flowlabel |= (*(__be32 *) ipv6h & IPV6_TCLASS_MASK);
|
||||||
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FLOWLABEL)
|
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FLOWLABEL)
|
||||||
fl6.flowlabel |= (*(__be32 *) ipv6h & IPV6_FLOWLABEL_MASK);
|
fl6.flowlabel |= ip6_flowlabel(ipv6h);
|
||||||
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
|
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
|
||||||
fl6.flowi6_mark = skb->mark;
|
fl6.flowi6_mark = skb->mark;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user