• Alexey Kuznetsov's avatar
    [NET]: Fix neighbour destructor handling. · ecbb4169
    Alexey Kuznetsov authored
    ->neigh_destructor() is killed (not used), replaced with
    ->neigh_cleanup(), which is called when neighbor entry goes to dead
    state. At this point everything is still valid: neigh->dev,
    neigh->parms etc.
    
    The device should guarantee that dead neighbor entries (neigh->dead !=
    0) do not get private part initialized, otherwise nobody will cleanup
    it.
    
    I think this is enough for ipoib which is the only user of this thing.
    Initialization private part of neighbor entries happens in ipib
    start_xmit routine, which is not reached when device is down.  But it
    would be better to add explicit test for neigh->dead in any case.
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ecbb4169
neighbour.c 64.5 KB