ipv4: Support multipath hashing on inner IP pkts for GRE tunnel
authorStephen Suryaputra <ssuryaextr@gmail.com>
Thu, 13 Jun 2019 18:38:58 +0000 (14:38 -0400)
committerDavid S. Miller <davem@davemloft.net>
Sat, 15 Jun 2019 02:42:35 +0000 (19:42 -0700)
commit363887a2cdfeb6af52a9b78d84697662adf6f8d5
treedeae85756a29cfb317bf71a5b473ed71861c7338
parent31c03aef9bc22a64a8324d650ca4198819ef3a33
ipv4: Support multipath hashing on inner IP pkts for GRE tunnel

Multipath hash policy value of 0 isn't distributing since the outer IP
dest and src aren't varied eventhough the inner ones are. Since the flow
is on the inner ones in the case of tunneled traffic, hashing on them is
desired.

This is done mainly for IP over GRE, hence only tested for that. But
anything else supported by flow dissection should work.

v2: Use skb_flow_dissect_flow_keys() directly so that other tunneling
    can be supported through flow dissection (per Nikolay Aleksandrov).
v3: Remove accidental inclusion of ports in the hash keys and clarify
    the documentation (Nikolay Alexandrov).
Signed-off-by: Stephen Suryaputra <ssuryaextr@gmail.com>
Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/networking/ip-sysctl.txt
net/ipv4/route.c
net/ipv4/sysctl_net_ipv4.c