• David Ahern's avatar
    net: ipv6: Fix processing of RAs in presence of VRF · 830218c1
    David Ahern authored
    rt6_add_route_info and rt6_add_dflt_router were updated to pull the FIB
    table from the device index, but the corresponding rt6_get_route_info
    and rt6_get_dflt_router functions were not leading to the failure to
    process RA's:
    
        ICMPv6: RA: ndisc_router_discovery failed to add default route
    
    Fix the 'get' functions by using the table id associated with the
    device when applicable.
    
    Also, now that default routes can be added to tables other than the
    default table, rt6_purge_dflt_routers needs to be updated as well to
    look at all tables. To handle that efficiently, add a flag to the table
    denoting if it is has a default route via RA.
    
    Fixes: ca254490 ("net: Add VRF support to IPv6 stack")
    Signed-off-by: default avatarDavid Ahern <dsa@cumulusnetworks.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    830218c1
ip6_fib.h 6.78 KB