• Julian Anastasov's avatar
    ipv4: fix route deletion for IPs on many subnets · e6abbaa2
    Julian Anastasov authored
    Alex Sidorenko reported for problems with local
    routes left after IP addresses are deleted. It happens
    when same IPs are used in more than one subnet for the
    device.
    
    	Fix fib_del_ifaddr to restrict the checks for duplicate
    local and broadcast addresses only to the IFAs that use
    our primary IFA or another primary IFA with same address.
    And we expect the prefsrc to be matched when the routes
    are deleted because it is possible they to differ only by
    prefsrc. This patch prevents local and broadcast routes
    to be leaked until their primary IP is deleted finally
    from the box.
    
    	As the secondary address promotion needs to delete
    the routes for all secondaries that used the old primary IFA,
    add option to ignore these secondaries from the checks and
    to assume they are already deleted, so that we can safely
    delete the route while these IFAs are still on the device list.
    Reported-by: default avatarAlex Sidorenko <alexandre.sidorenko@hp.com>
    Signed-off-by: default avatarJulian Anastasov <ja@ssi.bg>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e6abbaa2
fib_frontend.c 26.1 KB