• Jeff Barnhill's avatar
    net/ipv6: Add anycast addresses to a global hashtable · 2384d025
    Jeff Barnhill authored
    icmp6_send() function is expensive on systems with a large number of
    interfaces. Every time it’s called, it has to verify that the source
    address does not correspond to an existing anycast address by looping
    through every device and every anycast address on the device.  This can
    result in significant delays for a CPU when there are a large number of
    neighbors and ND timers are frequently timing out and calling
    neigh_invalidate().
    
    Add anycast addresses to a global hashtable to allow quick searching for
    matching anycast addresses.  This is based on inet6_addr_lst in addrconf.c.
    Signed-off-by: default avatarJeff Barnhill <0xeffeff@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    2384d025
anycast.c 13 KB