提交 a925ab48 编写于 作者: D David S. Miller

Revert "ipv6: omit traffic class when calculating flow hash"

This reverts commit 87ae68c8.

Applied the wrong version of this fix, correct version
coming up.
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 87ae68c8
...@@ -907,11 +907,6 @@ static inline __be32 ip6_make_flowinfo(unsigned int tclass, __be32 flowlabel) ...@@ -907,11 +907,6 @@ static inline __be32 ip6_make_flowinfo(unsigned int tclass, __be32 flowlabel)
return htonl(tclass << IPV6_TCLASS_SHIFT) | flowlabel; return htonl(tclass << IPV6_TCLASS_SHIFT) | flowlabel;
} }
static inline u32 flowi6_get_flowlabel(const struct flowi6 *fl6)
{
return (__force u32)(fl6->flowlabel & IPV6_FLOWLABEL_MASK);
}
/* /*
* Prototypes exported by ipv6 * Prototypes exported by ipv6
*/ */
......
...@@ -1334,7 +1334,7 @@ __u32 __get_hash_from_flowi6(const struct flowi6 *fl6, struct flow_keys *keys) ...@@ -1334,7 +1334,7 @@ __u32 __get_hash_from_flowi6(const struct flowi6 *fl6, struct flow_keys *keys)
keys->ports.src = fl6->fl6_sport; keys->ports.src = fl6->fl6_sport;
keys->ports.dst = fl6->fl6_dport; keys->ports.dst = fl6->fl6_dport;
keys->keyid.keyid = fl6->fl6_gre_key; keys->keyid.keyid = fl6->fl6_gre_key;
keys->tags.flow_label = flowi6_get_flowlabel(fl6); keys->tags.flow_label = (__force u32)fl6->flowlabel;
keys->basic.ip_proto = fl6->flowi6_proto; keys->basic.ip_proto = fl6->flowi6_proto;
return flow_hash_from_keys(keys); return flow_hash_from_keys(keys);
......
...@@ -1981,7 +1981,7 @@ static void ip6_multipath_l3_keys(const struct sk_buff *skb, ...@@ -1981,7 +1981,7 @@ static void ip6_multipath_l3_keys(const struct sk_buff *skb,
} else { } else {
keys->addrs.v6addrs.src = key_iph->saddr; keys->addrs.v6addrs.src = key_iph->saddr;
keys->addrs.v6addrs.dst = key_iph->daddr; keys->addrs.v6addrs.dst = key_iph->daddr;
keys->tags.flow_label = ip6_flowlabel(key_iph); keys->tags.flow_label = ip6_flowinfo(key_iph);
keys->basic.ip_proto = key_iph->nexthdr; keys->basic.ip_proto = key_iph->nexthdr;
} }
} }
...@@ -2002,7 +2002,7 @@ u32 rt6_multipath_hash(const struct net *net, const struct flowi6 *fl6, ...@@ -2002,7 +2002,7 @@ u32 rt6_multipath_hash(const struct net *net, const struct flowi6 *fl6,
} else { } else {
hash_keys.addrs.v6addrs.src = fl6->saddr; hash_keys.addrs.v6addrs.src = fl6->saddr;
hash_keys.addrs.v6addrs.dst = fl6->daddr; hash_keys.addrs.v6addrs.dst = fl6->daddr;
hash_keys.tags.flow_label = flowi6_get_flowlabel(fl6); hash_keys.tags.flow_label = (__force u32)fl6->flowlabel;
hash_keys.basic.ip_proto = fl6->flowi6_proto; hash_keys.basic.ip_proto = fl6->flowi6_proto;
} }
break; break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册