lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Sat, 02 Dec 2017 21:22:00 -0500 (EST)
From:   David Miller <davem@...emloft.net>
To:     vivien.didelot@...oirfairelinux.com
Cc:     netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
        kernel@...oirfairelinux.com, f.fainelli@...il.com, andrew@...n.ch
Subject: Re: [PATCH net-next 0/2] net: dsa: cross-chip FDB support

From: Vivien Didelot <vivien.didelot@...oirfairelinux.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.

Powered by blists - more mailing lists