rocker: hook ndo_neigh_destroy to cleanup neigh refs in driver
authorScott Feldman <sfeldma@gmail.com>
Thu, 13 Aug 2015 01:45:25 +0000 (18:45 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 14 Aug 2015 00:05:46 +0000 (17:05 -0700)
commitdd19f83d6cd90e4b7a601da2ed40d2a9d70aaf10
treefc079b90a3c0b45de5cd37b969a776cd4d4ed958
parentc8beb5b2613418e7ac1ffaee1f0796e77a4000be
rocker: hook ndo_neigh_destroy to cleanup neigh refs in driver

Rocker driver tracks arp_tbl neighs to resolve IPv4 route nexthops.  The
driver uses NETEVENT_NEIGH_UPDATE for neigh adds and updates, but there is
no event when the neigh is removed from the device (such as when the device
goes admin down).  This patches hooks ndo_neigh_destroy so the driver can
know when a neigh is removed from the device.  In response, the driver will
purge the neigh entry from its internal tbl.

I didn't find an in-tree users of ndo_neigh_destroy, so I'm not sure if
this ndo is vestigial or if there are out-of-tree users.  In any case, it
does what I need here.  An alternative design would be to generate
NETEVENT_NEIGH_UPDATE event when neigh is being destroyed, setting state to
NUD_NONE so driver knows neigh entry is dead.

Signed-off-by: Scott Feldman <sfeldma@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/networking/switchdev.txt
drivers/net/ethernet/rocker/rocker.c