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 <[email protected]>
> ---
> net/ipv6/route.c | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
Acked-by: David Ahern <[email protected]>
Tested-by: David Ahern <[email protected]>