Re: [PATCH net] route: check sysctl_fib_multipath_use_neigh earlier than hash
Hi Xin Long. [This is an automated email] This commit has been processed because it contains a "Fixes:" tag. fixing commit: a6db4494d218 net: ipv4: Consider failed nexthops in multipath routes. The bot has also determined it's probably a bug fixing patch. (score: 58.0140) The bot has tested the following trees: v4.15.15, v4.14.32, v4.9.92, v4.15.15: Build OK! v4.14.32: Build OK! v4.9.92: Build OK! -- Thanks. Sasha
Re: [PATCH net] route: check sysctl_fib_multipath_use_neigh earlier than hash
From: Xin LongDate: Sun, 1 Apr 2018 22:40:35 +0800 > Prior to this patch, when one packet is hashed into path [1] > (hash <= nh_upper_bound) and it's neigh is dead, it will try > path [2]. However, if path [2]'s neigh is alive but it's > hash > nh_upper_bound, it will not return this alive path. > This packet will never be sent even if path [2] is alive. > > 3.3.3.1/24: > nexthop via 1.1.1.254 dev eth1 weight 1 <--[1] (dead neigh) > nexthop via 2.2.2.254 dev eth2 weight 1 <--[2] > > With sysctl_fib_multipath_use_neigh set is supposed to find an > available path respecting to the l3/l4 hash. But if there is > no available route with this hash, it should at least return > an alive route even with other hash. > > This patch is to fix it by processing fib_multipath_use_neigh > earlier than the hash check, so that it will at least return > an alive route if there is when fib_multipath_use_neigh is > enabled. It's also compatible with before when there are alive > routes with the l3/l4 hash. > > Fixes: a6db4494d218 ("net: ipv4: Consider failed nexthops in multipath > routes") > Reported-by: Jianlin Shi > Signed-off-by: Xin Long Applied and queued up for -stable, thanks.
Re: [PATCH net] route: check sysctl_fib_multipath_use_neigh earlier than hash
On 4/1/18 8:40 AM, Xin Long wrote: > Prior to this patch, when one packet is hashed into path [1] > (hash <= nh_upper_bound) and it's neigh is dead, it will try > path [2]. However, if path [2]'s neigh is alive but it's > hash > nh_upper_bound, it will not return this alive path. > This packet will never be sent even if path [2] is alive. > > 3.3.3.1/24: > nexthop via 1.1.1.254 dev eth1 weight 1 <--[1] (dead neigh) > nexthop via 2.2.2.254 dev eth2 weight 1 <--[2] > > With sysctl_fib_multipath_use_neigh set is supposed to find an > available path respecting to the l3/l4 hash. But if there is > no available route with this hash, it should at least return > an alive route even with other hash. > > This patch is to fix it by processing fib_multipath_use_neigh > earlier than the hash check, so that it will at least return > an alive route if there is when fib_multipath_use_neigh is > enabled. It's also compatible with before when there are alive > routes with the l3/l4 hash. > > Fixes: a6db4494d218 ("net: ipv4: Consider failed nexthops in multipath > routes") > Reported-by: Jianlin Shi> Signed-off-by: Xin Long > --- > net/ipv4/fib_semantics.c | 20 +++- > 1 file changed, 11 insertions(+), 9 deletions(-) > Acked-by: David Ahern