diff options
author | YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@linux-ipv6.org> | 2013-01-13 05:01:51 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-01-13 20:17:13 -0500 |
commit | 6502ca527f8ed2c3bb327d9db8e7e6e7dcbef511 (patch) | |
tree | ac76c5941e5ec45ab6ee8b0aa26db67eb67930f6 /net/ipv6/route.c | |
parent | 3e4e4c1f2da66b29ee9379ca29f8dd620c2b5a1f (diff) | |
download | linux-3.10-6502ca527f8ed2c3bb327d9db8e7e6e7dcbef511.tar.gz linux-3.10-6502ca527f8ed2c3bb327d9db8e7e6e7dcbef511.tar.bz2 linux-3.10-6502ca527f8ed2c3bb327d9db8e7e6e7dcbef511.zip |
ipv6: Introduce ip6_flowinfo() to extract flowinfo (tclass + flowlabel).
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/route.c')
-rw-r--r-- | net/ipv6/route.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 621b68ecf16..6238eb5037a 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -994,7 +994,7 @@ void ip6_route_input(struct sk_buff *skb) .flowi6_iif = skb->dev->ifindex, .daddr = iph->daddr, .saddr = iph->saddr, - .flowlabel = (* (__be32 *) iph) & IPV6_FLOWINFO_MASK, + .flowlabel = ip6_flowinfo(iph), .flowi6_mark = skb->mark, .flowi6_proto = iph->nexthdr, }; @@ -1159,7 +1159,7 @@ void ip6_update_pmtu(struct sk_buff *skb, struct net *net, __be32 mtu, fl6.flowi6_flags = 0; fl6.daddr = iph->daddr; fl6.saddr = iph->saddr; - fl6.flowlabel = (*(__be32 *) iph) & IPV6_FLOWINFO_MASK; + fl6.flowlabel = ip6_flowinfo(iph); dst = ip6_route_output(net, NULL, &fl6); if (!dst->error) @@ -1187,7 +1187,7 @@ void ip6_redirect(struct sk_buff *skb, struct net *net, int oif, u32 mark) fl6.flowi6_flags = 0; fl6.daddr = iph->daddr; fl6.saddr = iph->saddr; - fl6.flowlabel = (*(__be32 *) iph) & IPV6_FLOWINFO_MASK; + fl6.flowlabel = ip6_flowinfo(iph); dst = ip6_route_output(net, NULL, &fl6); if (!dst->error) |