Re: [v3] net: ipv6: fallback to full lookup if table lookup is unsuitable
From: Vincent Bernat Date: Sun, 18 Sep 2016 17:46:07 +0200 > Commit 8c14586fc320 ("net: ipv6: Use passed in table for nexthop > lookups") introduced a regression: insertion of an IPv6 route in a table > not containing the appropriate connected route for the gateway but which > contained a non-connected route (like a default gateway) fails while it > was previously working: > > $ ip link add eth0 type dummy > $ ip link set up dev eth0 > $ ip addr add 2001:db8::1/64 dev eth0 > $ ip route add ::/0 via 2001:db8::5 dev eth0 table 20 > $ ip route add 2001:db8:cafe::1/128 via 2001:db8::6 dev eth0 table 20 > RTNETLINK answers: No route to host > $ ip -6 route show table 20 > default via 2001:db8::5 dev eth0 metric 1024 pref medium > > After this patch, we get: > > $ ip route add 2001:db8:cafe::1/128 via 2001:db8::6 dev eth0 table 20 > $ ip -6 route show table 20 > 2001:db8:cafe::1 via 2001:db8::6 dev eth0 metric 1024 pref medium > default via 2001:db8::5 dev eth0 metric 1024 pref medium > > Fixes: 8c14586fc320 ("net: ipv6: Use passed in table for nexthop lookups") > Signed-off-by: Vincent Bernat Applied and queued up for -stable, thanks.
Re: [v3] net: ipv6: fallback to full lookup if table lookup is unsuitable
On 9/18/16 9:46 AM, Vincent Bernat wrote: > Commit 8c14586fc320 ("net: ipv6: Use passed in table for nexthop > lookups") introduced a regression: insertion of an IPv6 route in a table > not containing the appropriate connected route for the gateway but which > contained a non-connected route (like a default gateway) fails while it > was previously working: > > $ ip link add eth0 type dummy > $ ip link set up dev eth0 > $ ip addr add 2001:db8::1/64 dev eth0 > $ ip route add ::/0 via 2001:db8::5 dev eth0 table 20 > $ ip route add 2001:db8:cafe::1/128 via 2001:db8::6 dev eth0 table 20 > RTNETLINK answers: No route to host > $ ip -6 route show table 20 > default via 2001:db8::5 dev eth0 metric 1024 pref medium > > After this patch, we get: > > $ ip route add 2001:db8:cafe::1/128 via 2001:db8::6 dev eth0 table 20 > $ ip -6 route show table 20 > 2001:db8:cafe::1 via 2001:db8::6 dev eth0 metric 1024 pref medium > default via 2001:db8::5 dev eth0 metric 1024 pref medium > > Fixes: 8c14586fc320 ("net: ipv6: Use passed in table for nexthop lookups") > Signed-off-by: Vincent Bernat > --- > net/ipv6/route.c | 11 ++- > 1 file changed, 10 insertions(+), 1 deletion(-) Acked-by: David Ahern Tested-by: David Ahern