]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'mlxsw-Reduce-dependency-between-bridge-and-router-code'
authorDavid S. Miller <davem@davemloft.net>
Mon, 17 Feb 2020 22:42:54 +0000 (14:42 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 17 Feb 2020 22:42:54 +0000 (14:42 -0800)
commit69d73465d1519bcfc120739ef34af125de744adf
tree275d6c68185162a931f1f5759e92e3d5dbd25fb4
parenta28288100940243190a454c924f2f17ce13e2e3d
parentbb7c7d87c9d43a835c72946daecfabfc91558bbd
Merge branch 'mlxsw-Reduce-dependency-between-bridge-and-router-code'

Ido Schimmel says:

====================
mlxsw: Reduce dependency between bridge and router code

This patch set reduces the dependency between the bridge and the router
code in preparation for RTNL removal from the route insertion path in
mlxsw.

The motivation and solution are explained in detail in patch #3. The
main idea is that we need to stop special-casing the VXLAN devices with
regards to the reference counting of the FIDs. Otherwise, we can bump
into the situation described in patch #3, where the routing code calls
into the bridge code which calls back into the routing code. After
adding a mutex to protect router data structures to remove RTNL
dependency, this can result in an AA deadlock.

Patches #1 and #2 are preparations. They convert the FIDs to use
'refcount_t' for reference counting in order to catch over/under flows
and add extack to the bridge creation function.

Patches #3-#5 reduce the dependency between the bridge and the router
code. First, by having the VXLAN device take a reference on the FID in
patch #3 and then by removing unnecessary code following the change in
patch #3.

Patches #6-#10 adjust existing selftests and add new ones to exercise
the new code paths.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>