Merge branch 'cross-chip-bridging-for-disjoint-dsa-trees'
authorJakub Kicinski <kuba@kernel.org>
Mon, 11 May 2020 02:52:43 +0000 (19:52 -0700)
committerJakub Kicinski <kuba@kernel.org>
Mon, 11 May 2020 02:52:56 +0000 (19:52 -0700)
commita6f0b26d6a5dcf27980e65f965779a929039f11d
treed2c3d327c9f38243eb277e6ffb798dade9e0fa4c
parent90d9834ecd6b92880765cbcafba373ce33a7cb05
parentac02a451a6148bb9c395b39783ce7299eddf4f31
Merge branch 'cross-chip-bridging-for-disjoint-dsa-trees'

Vladimir Oltean says:

====================
This series adds support for boards where DSA switches of multiple types
are cascaded together. Actually this type of setup was brought up before
on netdev, and it looks like utilizing disjoint trees is the way to go:

https://lkml.org/lkml/2019/7/7/225

The trouble with disjoint trees (prior to this patch series) is that only
bridging of ports within the same hardware switch can be offloaded.
After scratching my head for a while, it looks like the easiest way to
support hardware bridging between different DSA trees is to bridge their
DSA masters and extend the crosschip bridging operations.

I have given some thought to bridging the DSA masters with the slaves
themselves, but given the hardware topology described in the commit
message of patch 4/4, virtually any number (and combination) of bridges
(forwarding domains) can be created on top of those 3x4-port front-panel
switches. So it becomes a lot less obvious, when the front-panel ports
are enslaved to more than 1 bridge, which bridge should the DSA masters
be enslaved to.

So the least awkward approach was to just create a completely separate
bridge for the DSA masters, whose entire purpose is to permit hardware
forwarding between the discrete switches beneath it.

This is a direct resend of v3, which was deferred due to lack of review.
In the meantime Florian has reviewed and tested some of them.

v1 was submitted here:
https://patchwork.ozlabs.org/project/netdev/cover/20200429161952.17769-1-olteanv@gmail.com/

v2 was submitted here:
https://patchwork.ozlabs.org/project/netdev/cover/20200430202542.11797-1-olteanv@gmail.com/

v3 was submitted here:
https://patchwork.ozlabs.org/project/netdev/cover/20200503221228.10928-1-olteanv@gmail.com/
====================

Signed-off-by: Jakub Kicinski <kuba@kernel.org>