From: Paolo Abeni <pab...@redhat.com> Date: Thu, 23 Jun 2016 15:25:09 +0200
> with the commit 8c14586fc320 ("net: ipv6: Use passed in table for > nexthop lookups"), net hop lookup is first performed on route creation > in the passed-in table. > However device match is not enforced in table lookup, so the found > route can be later discarded due to egress device mismatch and no > global lookup will be performed. > This cause the following to fail: > > ip link add dummy1 type dummy > ip link add dummy2 type dummy > ip link set dummy1 up > ip link set dummy2 up > ip route add 2001:db8:8086::/48 dev dummy1 metric 20 > ip route add 2001:db8:d34d::/64 via 2001:db8:8086::2 dev dummy1 metric 20 > ip route add 2001:db8:8086::/48 dev dummy2 metric 21 > ip route add 2001:db8:d34d::/64 via 2001:db8:8086::2 dev dummy2 metric 21 > RTNETLINK answers: No route to host > > This change fixes the issue enforcing device lookup in > ip6_nh_lookup_table() > > v1->v2: updated commit message title > > Fixes: 8c14586fc320 ("net: ipv6: Use passed in table for nexthop lookups") > Reported-and-tested-by: Beniamino Galvani <bgalv...@redhat.com> > Signed-off-by: Paolo Abeni <pab...@redhat.com> Applied, thank you.