From: Florian Larysch <f...@n621.de> Date: Fri, 7 Apr 2017 14:42:20 +0200
> inet_rtm_getroute synthesizes a skeletal ICMP skb, which is passed to > ip_route_input when iif is given. If a multipath route is present for > the designated destination, fib_multipath_hash ends up being called with > that skb. However, as that skb contains no information beyond the > protocol type, the calculated hash does not match the one we would see > for a real packet. > > There is currently no way to fix this for layer 4 hashing, as > RTM_GETROUTE doesn't have the necessary information to create layer 4 > headers. To fix this for layer 3 hashing, set appropriate saddr/daddrs > in the skb and also change the protocol to UDP to avoid special > treatment for ICMP. > > Signed-off-by: Florian Larysch <f...@n621.de> Applied, thanks for following up on this.