From: David S. Miller Date: Mon, 17 Feb 2020 22:42:54 +0000 (-0800) Subject: Merge branch 'mlxsw-Reduce-dependency-between-bridge-and-router-code' X-Git-Tag: v5.15~4200^2~407 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=790a9a7cce6564fac132ce91ace5c7ab20d9a70f;p=platform%2Fkernel%2Flinux-starfive.git 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 --- 790a9a7cce6564fac132ce91ace5c7ab20d9a70f