summaryrefslogtreecommitdiffstats
path: root/tools/power
diff options
context:
space:
mode:
authorIdo Schimmel <idosch@mellanox.com>2017-02-06 16:20:13 +0100
committerDavid S. Miller <davem@davemloft.net>2017-02-06 11:25:56 -0500
commit5c8802f14a0679e970e7b25f809a12c3ae1a873d (patch)
treebfd69c0d3b5299a4dcd459e4993dadd0f6a4e7b3 /tools/power
parentde04b6a35887b742dccbc17e6663e4749aaa7542 (diff)
downloadop-kernel-dev-5c8802f14a0679e970e7b25f809a12c3ae1a873d.zip
op-kernel-dev-5c8802f14a0679e970e7b25f809a12c3ae1a873d.tar.gz
mlxsw: spectrum_router: Simplify neighbour reflection
Up until now we had two interfaces for neighbour related configuration: ndo_neigh_{construct,destroy} and NEIGH_UPDATE netevents. The ndos were used to add and remove neighbours from the driver's cache, whereas the netevent was used to reflect the neighbours into the device's tables. However, if the NUD state of a neighbour isn't NUD_VALID or if the neighbour is dead, then there's really no reason for us to keep it inside our cache. The only exception to this rule are neighbours that are also used for nexthops, which we periodically refresh to get them resolved. We can therefore eliminate the ndo entry point into the driver and simplify the code, making it similar to the FIB reflection, which is based solely on events. This also helps us avoid a locking issue, in which the RIF cache was traversed without proper locking during insertion into the neigh entry cache. Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools/power')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud