mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
207afda1b5
For hardware cross-chip bridging to work, user ports *and* DSA ports need to share a common address database, in order to switch a frame to the correct interconnected device. This is currently working for VLAN filtering aware systems, since Linux will implement a bridge group as a 802.1Q VLAN, which has its own FDB, including DSA and CPU links as members. However when the system doesn't support VLAN filtering, Linux only relies on the port-based VLAN to implement a bridge group. To fix hardware cross-chip bridging for such systems, set the same default address database 0 for user and DSA ports, instead of giving them all a different default database. Note that the bridging code prevents frames to egress between unbridged ports, and flushes FDB entries of a port when changing its STP state. Also note that the FID 0 is special and means "all" for ATU operations, but it's OK since it is used as a default forwarding address database. Fixes: |
||
---|---|---|
.. | ||
bcm_sf2_regs.h | ||
bcm_sf2.c | ||
bcm_sf2.h | ||
Kconfig | ||
Makefile | ||
mv88e6xxx.c | ||
mv88e6xxx.h | ||
mv88e6060.c | ||
mv88e6060.h | ||
mv88e6123.c | ||
mv88e6131.c | ||
mv88e6171.c | ||
mv88e6352.c |