net: Align ip_multipath_l3_keys and ip6_multipath_l3_keys
Symmetry is good and allows easy comparison that ipv4 and ipv6 are doing the same thing. To that end, change ip_multipath_l3_keys to set addresses at the end after the icmp compares, and move the initialization of ipv6 flow keys to rt6_multipath_hash. Signed-off-by: David Ahern <dsahern@gmail.com> Reviewed-by: Ido Schimmel <idosch@mellanox.com> Reviewed-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
7efc0b6b66
commit
6f74b6c259
@@ -1815,8 +1815,6 @@ static void ip6_multipath_l3_keys(const struct sk_buff *skb,
|
||||
key_iph = inner_iph;
|
||||
_flkeys = NULL;
|
||||
out:
|
||||
memset(keys, 0, sizeof(*keys));
|
||||
keys->control.addr_type = FLOW_DISSECTOR_KEY_IPV6_ADDRS;
|
||||
if (_flkeys) {
|
||||
keys->addrs.v6addrs.src = _flkeys->addrs.v6addrs.src;
|
||||
keys->addrs.v6addrs.dst = _flkeys->addrs.v6addrs.dst;
|
||||
@@ -1837,6 +1835,8 @@ u32 rt6_multipath_hash(const struct flowi6 *fl6, const struct sk_buff *skb,
|
||||
struct flow_keys hash_keys;
|
||||
|
||||
if (skb) {
|
||||
memset(&hash_keys, 0, sizeof(hash_keys));
|
||||
hash_keys.control.addr_type = FLOW_DISSECTOR_KEY_IPV6_ADDRS;
|
||||
ip6_multipath_l3_keys(skb, &hash_keys, flkeys);
|
||||
return flow_hash_from_keys(&hash_keys) >> 1;
|
||||
}
|
||||
|
Reference in New Issue
Block a user