]> git.baikalelectronics.ru Git - kernel.git/commit
mlxsw: spectrum_router: Flush FIB tables during fini
authorIdo Schimmel <idosch@mellanox.com>
Mon, 14 Nov 2016 10:26:32 +0000 (11:26 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 14 Nov 2016 21:45:16 +0000 (16:45 -0500)
commit31053c96ad2c1eb39034ba1930815503a50d329b
tree85afb4689162f0be63b92611c418b2bccdd90d22
parent2b80dea2903e5502c2fa119bd490d672ac78ec9a
mlxsw: spectrum_router: Flush FIB tables during fini

Since commit 437869c72d0d ("mlxsw: spectrum_router: Use FIB notifications
instead of switchdev calls") we reflect to the device the entire FIB
table and not only FIBs that point to netdevs created by the driver.

During module removal, FIBs of the second type are removed following
NETDEV_UNREGISTER events sent. The other FIBs are still present in both
the driver's cache and the device's table.

Fix this by iterating over all the FIB tables in the device and flush
them. There's no need to take locks, as we're the only writer.

Fixes: 437869c72d0d ("mlxsw: spectrum_router: Use FIB notifications instead of switchdev calls")
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>
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c