• Andy Gospodarek's avatar
    net: ipv6 sysctl option to ignore routes when nexthop link is down · 35103d11
    Andy Gospodarek authored
    Like the ipv4 patch with a similar title, this adds a sysctl to allow
    the user to change routing behavior based on whether or not the
    interface associated with the nexthop was an up or down link.  The
    default setting preserves the current behavior, but anyone that enables
    it will notice that nexthops on down interfaces will no longer be
    selected:
    
    net.ipv6.conf.all.ignore_routes_with_linkdown = 0
    net.ipv6.conf.default.ignore_routes_with_linkdown = 0
    net.ipv6.conf.lo.ignore_routes_with_linkdown = 0
    ...
    
    When the above sysctls are set, not only will link status be reported to
    userspace, but an indication that a nexthop is dead and will not be used
    is also reported.
    
    1000::/8 via 7000::2 dev p7p1  metric 1024 dead linkdown  pref medium
    1000::/8 via 8000::2 dev p8p1  metric 1024  pref medium
    7000::/8 dev p7p1  proto kernel  metric 256 dead linkdown  pref medium
    8000::/8 dev p8p1  proto kernel  metric 256  pref medium
    9000::/8 via 8000::2 dev p8p1  metric 2048  pref medium
    9000::/8 via 7000::2 dev p7p1  metric 1024 dead linkdown  pref medium
    fe80::/64 dev p7p1  proto kernel  metric 256 dead linkdown  pref medium
    fe80::/64 dev p8p1  proto kernel  metric 256  pref medium
    
    This also adds devconf support and notification when sysctl values
    change.
    
    v2: drop use of rt6i_nhflags since it is not needed right now
    Signed-off-by: default avatarAndy Gospodarek <gospo@cumulusnetworks.com>
    Signed-off-by: default avatarDinesh Dutt <ddutt@cumulusnetworks.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    35103d11
route.c 85.6 KB