• David Ahern's avatar
    net/ipv6: Allow onlink routes to have a device mismatch if it is the default route · 4ed591c8
    David Ahern authored
    The intent of ip6_route_check_nh_onlink is to make sure the gateway
    given for an onlink route is not actually on a connected route for
    a different interface (e.g., 2001:db8:1::/64 is on dev eth1 and then
    an onlink route has a via 2001:db8:1::1 dev eth2). If the gateway
    lookup hits the default route then it most likely will be a different
    interface than the onlink route which is ok.
    
    Update ip6_route_check_nh_onlink to disregard the device mismatch
    if the gateway lookup hits the default route. Turns out the existing
    onlink tests are passing because there is no default route or it is
    an unreachable default, so update the onlink tests to have a default
    route other than unreachable.
    
    Fixes: fc1e64e1 ("net/ipv6: Add support for onlink flag")
    Signed-off-by: default avatarDavid Ahern <dsahern@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    4ed591c8
route.c 133 KB