Thread (33 messages) 33 messages, 4 authors, 2025-06-03

Re: [RFC PATCH 08/10] net: dsa: b53: fix unicast/multicast flooding on BCM5325

From: Jonas Gorski <jonas.gorski@gmail.com>
Date: 2025-06-03 10:31:51
Also in: lkml

On Tue, Jun 3, 2025 at 12:18 PM Álvaro Fernández Rojas
[off-list ref] wrote:
Hi Jonas,

El lun, 2 jun 2025 a las 22:08, Jonas Gorski
([off-list ref]) escribió:
quoted
On Mon, Jun 2, 2025 at 8:09 PM Florian Fainelli
[off-list ref] wrote:
quoted
On 5/31/25 03:13, Álvaro Fernández Rojas wrote:
quoted
BCM5325 doesn't implement UC_FLOOD_MASK, MC_FLOOD_MASK and IPMC_FLOOD_MASK
registers.
This has to be handled differently with other pages and registers.

Fixes: a8b659e7ff75 ("net: dsa: act as passthrough for bridge port flags")
Signed-off-by: Álvaro Fernández Rojas <redacted>
---
[snip]
quoted
+/*************************************************************************
+ * IEEE 802.1X Registers
+ *************************************************************************/
+
+/* Multicast DLF Drop Control register (16 bit) */
+#define B53_IEEE_MCAST_DLF           0x94
+#define B53_IEEE_MCAST_DROP_EN               BIT(11)
+
+/* Unicast DLF Drop Control register (16 bit) */
+#define B53_IEEE_UCAST_DLF           0x96
+#define B53_IEEE_UCAST_DROP_EN               BIT(11)
Are you positive the 5325 implements all of those registers? They are
not documented in my databook.
They are in 5325E-DS14-R pages 112 - 112 (134/135)

That being said, I don't thing we need to touch the MC/BC/DLF rate
control registers when enabling/disabling flooding - these only limit
how much traffic may be UC / MC  on a port, but apart from that they
do not limit flooding. We don't limit this on other switch models
either.
In that case there's nothing to enable/disable on the BCM5325 and we
should do an early return on b53_port_set_ucast_flood and
b53_port_set_mcast_flood since UC_FLOOD_MASK, MC_FLOOD_MASK and
IPMC_FLOOD_MASK don't exist.
You are adding calls to modify the B53_IEEE_UCAST_DLF and
B53_IEEE_MCAST_DLF registers, which are fine and look correct. And
AFAICT these are the equivalent to UC_FLOOD_MASK and MC_FLOOD_MASK,
with no IPMC_FLOOD_MASK equivalent.

It's only the rate control ones I'm not sure are the right thing to
do, at least in the same patch.

Regards,
Jonas
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help