• Ido Schimmel's avatar
    ipv6: Flush multipath routes when all siblings are dead · 1de178ed
    Ido Schimmel authored
    By default, IPv6 deletes nexthops from a multipath route when the
    nexthop device is put administratively down. This differs from IPv4
    where the nexthops are kept, but marked with the RTNH_F_DEAD flag. A
    multipath route is flushed when all of its nexthops become dead.
    
    Align IPv6 with IPv4 and have it conform to the same guidelines.
    
    In case the multipath route needs to be flushed, its siblings are
    flushed one by one. Otherwise, the nexthops are marked with the
    appropriate flags and the tree walker is instructed to skip all the
    siblings.
    
    As explained in previous patches, care is taken to update the sernum of
    the affected tree nodes, so as to prevent the use of wrong dst entries.
    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>
    1de178ed
route.c 121 KB