Messages in this thread | | | Date | Sat, 02 Dec 2017 21:22:00 -0500 (EST) | Subject | Re: [PATCH net-next 0/2] net: dsa: cross-chip FDB support | From | David Miller <> |
| |
From: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Date: Thu, 30 Nov 2017 12:56:41 -0500
> DSA can have interconnected switches. For instance, the ZII Dev Rev B > board described in arch/arm/boot/dts/vf610-zii-dev-rev-b.dts has a > switch fabric composed of 3 switch devices like this: > > lan4 lan6 > CPU (eth1) | lan5 | lan7 > | | | | | > [0 1 2 3 4 6 5]---[6 0 1 2 3 4 5]---[9 0 1 2 3 4 5 6 7 8] > | | | | | | | > lan0 | lan2 lan3 lan8 | optical4 > lan1 optical3 > > One current issue with DSA is cross-chip FDB. If we add a static MAC > address on lan3, only its parent switch 1 (the one in the middle) will > be programmed. That is not correct in a cross-chip environment, because > the DSA ports connecting to switch 1 of adjacent switch 0 (on the left) > and switch 2 (on the right) must be programmed too. > > Without this patchset, a dump of the hardware FDB of switches 0, 1 and 2 > after programming a MAC address on lan3 looks like this (*): > > # bridge fdb add 11:22:33:44:55:66 dev lan3 > # cat /sys/kernel/debug/mv88e6xxx/sw*/atu/0 | grep -v FID > 0 ff:ff:ff:ff:ff:ff MC_STATIC n 0 1 2 3 4 5 6 > 0 11:22:33:44:55:66 MC_STATIC_MGMT_PO n 0 - - - - - - > 0 ff:ff:ff:ff:ff:ff MC_STATIC n 0 1 2 3 4 5 6 > 0 ff:ff:ff:ff:ff:ff MC_STATIC n 0 1 2 3 4 5 6 7 8 9 > > With this patchset applied, adjacent DSA ports get programmed too: > > # bridge fdb add 11:22:33:44:55:66 dev lan3 > # cat /sys/kernel/debug/mv88e6xxx/sw*/atu/0 | grep -v FID > 0 11:22:33:44:55:66 MC_STATIC_MGMT_PO n - - - - - 5 - > 0 ff:ff:ff:ff:ff:ff MC_STATIC n 0 1 2 3 4 5 6 > 0 11:22:33:44:55:66 MC_STATIC_MGMT_PO n 0 - - - - - - > 0 ff:ff:ff:ff:ff:ff MC_STATIC n 0 1 2 3 4 5 6 > 0 11:22:33:44:55:66 MC_STATIC_MGMT_PO n - - - - - - - - - 9 > 0 ff:ff:ff:ff:ff:ff MC_STATIC n 0 1 2 3 4 5 6 7 8 9 ...
Series applied, thanks.
| |