• David S. Miller's avatar
    ipv6: Fix sporadic sendmsg -EINVAL when sending to multicast groups. · 14deae41
    David S. Miller authored
    Thanks to excellent diagnosis by Eduard Guzovsky.
    
    The core problem is that on a network with lots of active
    multicast traffic, the neighbour cache can fill up.  If
    we try to allocate a new route and thus neighbour cache
    entry, the bog-standard GC attempt the neighbour layer does
    in ineffective because route entries hold a reference
    to the existing neighbour entries and GC can only liberate
    entries with no references.
    
    IPV4 already has a way to handle this, by doing a route cache
    GC in such situations (when neigh attach returns -ENOBUFS).
    
    So simply mimick this on the ipv6 side.
    Tested-by: default avatarEduard Guzovsky <eguzovsky@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    14deae41
route.c 67.7 KB