• Ido Schimmel's avatar
    ipv6: Add explicit flush indication to routes · a2c554d3
    Ido Schimmel authored
    When routes that are a part of a multipath route are evaluated by
    fib6_ifdown() in response to NETDEV_DOWN and NETDEV_UNREGISTER events
    the state of their sibling routes is not considered.
    
    This will change in subsequent patches in order to align IPv6 with
    IPv4's behavior. For example, when the last sibling in a multipath route
    becomes dead, the entire multipath route needs to be removed.
    
    To prevent the tree walker from re-evaluating all the sibling routes
    each time, we can simply evaluate them once - when the first sibling is
    traversed.
    
    If we determine the entire multipath route needs to be removed, then the
    'should_flush' bit is set in all the siblings, which will cause the
    walker to flush them when it traverses them.
    Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
    Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a2c554d3
ip6_fib.h 10.1 KB