* Re: [PATCH net] net: dsa: b53: prevent standalone from trying to forward to other ports
2025-05-08 9:14 [PATCH net] net: dsa: b53: prevent standalone from trying to forward to other ports Jonas Gorski
@ 2025-05-13 10:28 ` Paolo Abeni
2025-05-13 12:43 ` Florian Fainelli
` (3 subsequent siblings)
4 siblings, 0 replies; 13+ messages in thread
From: Paolo Abeni @ 2025-05-13 10:28 UTC (permalink / raw)
To: Jonas Gorski, Florian Fainelli
Cc: Florian Fainelli, netdev, linux-kernel, Jakub Kicinski,
Andrew Lunn, David S. Miller, Eric Dumazet, Vladimir Oltean
On 5/8/25 11:14 AM, Jonas Gorski wrote:
> When bridged ports and standalone ports share a VLAN, e.g. via VLAN
> uppers, or untagged traffic with a vlan unaware bridge, the ASIC will
> still try to forward traffic to known FDB entries on standalone ports.
> But since the port VLAN masks prevent forwarding to bridged ports, this
> traffic will be dropped.
>
> This e.g. can be observed in the bridge_vlan_unaware ping tests, where
> this breaks pinging with learning on.
>
> Work around this by enabling the simplified EAP mode on switches
> supporting it for standalone ports, which causes the ASIC to redirect
> traffic of unknown source MAC addresses to the CPU port.
>
> Since standalone ports do not learn, there are no known source MAC
> addresses, so effectively this redirects all incoming traffic to the CPU
> port.
>
> Fixes: ff39c2d68679 ("net: dsa: b53: Add bridge support")
> Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
@Florian, could you please have a look at this one, too?
Thanks,
Paolo
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH net] net: dsa: b53: prevent standalone from trying to forward to other ports
2025-05-08 9:14 [PATCH net] net: dsa: b53: prevent standalone from trying to forward to other ports Jonas Gorski
2025-05-13 10:28 ` Paolo Abeni
@ 2025-05-13 12:43 ` Florian Fainelli
2025-05-13 12:55 ` Vladimir Oltean
` (2 subsequent siblings)
4 siblings, 0 replies; 13+ messages in thread
From: Florian Fainelli @ 2025-05-13 12:43 UTC (permalink / raw)
To: Jonas Gorski, Andrew Lunn, Vladimir Oltean, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: Florian Fainelli, netdev, linux-kernel
On 5/8/2025 11:14 AM, Jonas Gorski wrote:
> When bridged ports and standalone ports share a VLAN, e.g. via VLAN
> uppers, or untagged traffic with a vlan unaware bridge, the ASIC will
> still try to forward traffic to known FDB entries on standalone ports.
> But since the port VLAN masks prevent forwarding to bridged ports, this
> traffic will be dropped.
>
> This e.g. can be observed in the bridge_vlan_unaware ping tests, where
> this breaks pinging with learning on.
>
> Work around this by enabling the simplified EAP mode on switches
> supporting it for standalone ports, which causes the ASIC to redirect
> traffic of unknown source MAC addresses to the CPU port.
>
> Since standalone ports do not learn, there are no known source MAC
> addresses, so effectively this redirects all incoming traffic to the CPU
> port.
>
> Fixes: ff39c2d68679 ("net: dsa: b53: Add bridge support")
> Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
--
Florian
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH net] net: dsa: b53: prevent standalone from trying to forward to other ports
2025-05-08 9:14 [PATCH net] net: dsa: b53: prevent standalone from trying to forward to other ports Jonas Gorski
2025-05-13 10:28 ` Paolo Abeni
2025-05-13 12:43 ` Florian Fainelli
@ 2025-05-13 12:55 ` Vladimir Oltean
2025-05-13 13:50 ` patchwork-bot+netdevbpf
2026-02-26 20:24 ` Rafał Miłecki
4 siblings, 0 replies; 13+ messages in thread
From: Vladimir Oltean @ 2025-05-13 12:55 UTC (permalink / raw)
To: Jonas Gorski
Cc: Florian Fainelli, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Florian Fainelli, netdev,
linux-kernel
On Thu, May 08, 2025 at 11:14:24AM +0200, Jonas Gorski wrote:
> When bridged ports and standalone ports share a VLAN, e.g. via VLAN
> uppers, or untagged traffic with a vlan unaware bridge, the ASIC will
> still try to forward traffic to known FDB entries on standalone ports.
> But since the port VLAN masks prevent forwarding to bridged ports, this
> traffic will be dropped.
>
> This e.g. can be observed in the bridge_vlan_unaware ping tests, where
> this breaks pinging with learning on.
>
> Work around this by enabling the simplified EAP mode on switches
> supporting it for standalone ports, which causes the ASIC to redirect
> traffic of unknown source MAC addresses to the CPU port.
>
> Since standalone ports do not learn, there are no known source MAC
> addresses, so effectively this redirects all incoming traffic to the CPU
> port.
>
> Fixes: ff39c2d68679 ("net: dsa: b53: Add bridge support")
> Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
> ---
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH net] net: dsa: b53: prevent standalone from trying to forward to other ports
2025-05-08 9:14 [PATCH net] net: dsa: b53: prevent standalone from trying to forward to other ports Jonas Gorski
` (2 preceding siblings ...)
2025-05-13 12:55 ` Vladimir Oltean
@ 2025-05-13 13:50 ` patchwork-bot+netdevbpf
2026-02-26 20:24 ` Rafał Miłecki
4 siblings, 0 replies; 13+ messages in thread
From: patchwork-bot+netdevbpf @ 2025-05-13 13:50 UTC (permalink / raw)
To: Jonas Gorski
Cc: florian.fainelli, andrew, olteanv, davem, edumazet, kuba, pabeni,
f.fainelli, netdev, linux-kernel
Hello:
This patch was applied to netdev/net.git (main)
by Paolo Abeni <pabeni@redhat.com>:
On Thu, 8 May 2025 11:14:24 +0200 you wrote:
> When bridged ports and standalone ports share a VLAN, e.g. via VLAN
> uppers, or untagged traffic with a vlan unaware bridge, the ASIC will
> still try to forward traffic to known FDB entries on standalone ports.
> But since the port VLAN masks prevent forwarding to bridged ports, this
> traffic will be dropped.
>
> This e.g. can be observed in the bridge_vlan_unaware ping tests, where
> this breaks pinging with learning on.
>
> [...]
Here is the summary with links:
- [net] net: dsa: b53: prevent standalone from trying to forward to other ports
https://git.kernel.org/netdev/net/c/4227ea91e265
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH net] net: dsa: b53: prevent standalone from trying to forward to other ports
2025-05-08 9:14 [PATCH net] net: dsa: b53: prevent standalone from trying to forward to other ports Jonas Gorski
` (3 preceding siblings ...)
2025-05-13 13:50 ` patchwork-bot+netdevbpf
@ 2026-02-26 20:24 ` Rafał Miłecki
2026-02-26 21:26 ` Florian Fainelli
4 siblings, 1 reply; 13+ messages in thread
From: Rafał Miłecki @ 2026-02-26 20:24 UTC (permalink / raw)
To: Jonas Gorski, Florian Fainelli, Andrew Lunn, Vladimir Oltean,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: Florian Fainelli, netdev, linux-kernel
W dniu 8.05.2025 o 11:14, Jonas Gorski pisze:
> When bridged ports and standalone ports share a VLAN, e.g. via VLAN
> uppers, or untagged traffic with a vlan unaware bridge, the ASIC will
> still try to forward traffic to known FDB entries on standalone ports.
> But since the port VLAN masks prevent forwarding to bridged ports, this
> traffic will be dropped.
>
> This e.g. can be observed in the bridge_vlan_unaware ping tests, where
> this breaks pinging with learning on.
>
> Work around this by enabling the simplified EAP mode on switches
> supporting it for standalone ports, which causes the ASIC to redirect
> traffic of unknown source MAC addresses to the CPU port.
>
> Since standalone ports do not learn, there are no known source MAC
> addresses, so effectively this redirects all incoming traffic to the CPU
> port.
This change broke standalone ports (those not being part of bridge) on Northstar (BCM5301X) devices. We got reports from users about WAN ports on routers not working anymore:
https://github.com/openwrt/openwrt/issues/21187
https://github.com/openwrt/openwrt/issues/21349
Can you take another look at those changes, see if something me be wrong / missing?
> Fixes: ff39c2d68679 ("net: dsa: b53: Add bridge support")
> Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
> ---
> drivers/net/dsa/b53/b53_common.c | 33 ++++++++++++++++++++++++++++++++
> drivers/net/dsa/b53/b53_regs.h | 14 ++++++++++++++
> 2 files changed, 47 insertions(+)
>
> diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_common.c
> index 9eb39cfa5fb2..7216eb8f9493 100644
> --- a/drivers/net/dsa/b53/b53_common.c
> +++ b/drivers/net/dsa/b53/b53_common.c
> @@ -326,6 +326,26 @@ static void b53_get_vlan_entry(struct b53_device *dev, u16 vid,
> }
> }
>
> +static void b53_set_eap_mode(struct b53_device *dev, int port, int mode)
> +{
> + u64 eap_conf;
> +
> + if (is5325(dev) || is5365(dev) || dev->chip_id == BCM5389_DEVICE_ID)
> + return;
> +
> + b53_read64(dev, B53_EAP_PAGE, B53_PORT_EAP_CONF(port), &eap_conf);
> +
> + if (is63xx(dev)) {
> + eap_conf &= ~EAP_MODE_MASK_63XX;
> + eap_conf |= (u64)mode << EAP_MODE_SHIFT_63XX;
> + } else {
> + eap_conf &= ~EAP_MODE_MASK;
> + eap_conf |= (u64)mode << EAP_MODE_SHIFT;
> + }
> +
> + b53_write64(dev, B53_EAP_PAGE, B53_PORT_EAP_CONF(port), eap_conf);
> +}
> +
> static void b53_set_forwarding(struct b53_device *dev, int enable)
> {
> u8 mgmt;
> @@ -586,6 +606,13 @@ int b53_setup_port(struct dsa_switch *ds, int port)
> b53_port_set_mcast_flood(dev, port, true);
> b53_port_set_learning(dev, port, false);
>
> + /* Force all traffic to go to the CPU port to prevent the ASIC from
> + * trying to forward to bridged ports on matching FDB entries, then
> + * dropping frames because it isn't allowed to forward there.
> + */
> + if (dsa_is_user_port(ds, port))
> + b53_set_eap_mode(dev, port, EAP_MODE_SIMPLIFIED);
> +
> return 0;
> }
> EXPORT_SYMBOL(b53_setup_port);
> @@ -2042,6 +2069,9 @@ int b53_br_join(struct dsa_switch *ds, int port, struct dsa_bridge bridge,
> pvlan |= BIT(i);
> }
>
> + /* Disable redirection of unknown SA to the CPU port */
> + b53_set_eap_mode(dev, port, EAP_MODE_BASIC);
> +
> /* Configure the local port VLAN control membership to include
> * remote ports and update the local port bitmask
> */
> @@ -2077,6 +2107,9 @@ void b53_br_leave(struct dsa_switch *ds, int port, struct dsa_bridge bridge)
> pvlan &= ~BIT(i);
> }
>
> + /* Enable redirection of unknown SA to the CPU port */
> + b53_set_eap_mode(dev, port, EAP_MODE_SIMPLIFIED);
> +
> b53_write16(dev, B53_PVLAN_PAGE, B53_PVLAN_PORT_MASK(port), pvlan);
> dev->ports[port].vlan_ctl_mask = pvlan;
>
> diff --git a/drivers/net/dsa/b53/b53_regs.h b/drivers/net/dsa/b53/b53_regs.h
> index bfbcb66bef66..5f7a0e5c5709 100644
> --- a/drivers/net/dsa/b53/b53_regs.h
> +++ b/drivers/net/dsa/b53/b53_regs.h
> @@ -50,6 +50,9 @@
> /* Jumbo Frame Registers */
> #define B53_JUMBO_PAGE 0x40
>
> +/* EAP Registers */
> +#define B53_EAP_PAGE 0x42
> +
> /* EEE Control Registers Page */
> #define B53_EEE_PAGE 0x92
>
> @@ -480,6 +483,17 @@
> #define JMS_MIN_SIZE 1518
> #define JMS_MAX_SIZE 9724
>
> +/*************************************************************************
> + * EAP Page Registers
> + *************************************************************************/
> +#define B53_PORT_EAP_CONF(i) (0x20 + 8 * (i))
> +#define EAP_MODE_SHIFT 51
> +#define EAP_MODE_SHIFT_63XX 50
> +#define EAP_MODE_MASK (0x3ull << EAP_MODE_SHIFT)
> +#define EAP_MODE_MASK_63XX (0x3ull << EAP_MODE_SHIFT_63XX)
> +#define EAP_MODE_BASIC 0
> +#define EAP_MODE_SIMPLIFIED 3
> +
> /*************************************************************************
> * EEE Configuration Page Registers
> *************************************************************************/
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH net] net: dsa: b53: prevent standalone from trying to forward to other ports
2026-02-26 20:24 ` Rafał Miłecki
@ 2026-02-26 21:26 ` Florian Fainelli
2026-02-27 12:23 ` Rafał Miłecki
0 siblings, 1 reply; 13+ messages in thread
From: Florian Fainelli @ 2026-02-26 21:26 UTC (permalink / raw)
To: Rafał Miłecki, Jonas Gorski, Andrew Lunn,
Vladimir Oltean, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni
Cc: Florian Fainelli, netdev, linux-kernel
On 2/26/26 12:24, Rafał Miłecki wrote:
> W dniu 8.05.2025 o 11:14, Jonas Gorski pisze:
>> When bridged ports and standalone ports share a VLAN, e.g. via VLAN
>> uppers, or untagged traffic with a vlan unaware bridge, the ASIC will
>> still try to forward traffic to known FDB entries on standalone ports.
>> But since the port VLAN masks prevent forwarding to bridged ports, this
>> traffic will be dropped.
>>
>> This e.g. can be observed in the bridge_vlan_unaware ping tests, where
>> this breaks pinging with learning on.
>>
>> Work around this by enabling the simplified EAP mode on switches
>> supporting it for standalone ports, which causes the ASIC to redirect
>> traffic of unknown source MAC addresses to the CPU port.
>>
>> Since standalone ports do not learn, there are no known source MAC
>> addresses, so effectively this redirects all incoming traffic to the CPU
>> port.
>
> This change broke standalone ports (those not being part of bridge) on
> Northstar (BCM5301X) devices. We got reports from users about WAN ports
> on routers not working anymore:
> https://github.com/openwrt/openwrt/issues/21187
> https://github.com/openwrt/openwrt/issues/21349
>
> Can you take another look at those changes, see if something me be
> wrong / missing?
Checking the BCM5301X datasheet, the register definitions look correct.
The first report appears to be for a Netgear R7000 which AFAICT would
utilize port 8 of the switch as the CPU port, which would be correct.
The other report is for a Netgear R6250 where port 5 would be acting as
the CPU port, that could be an issue unless the switch is also
programmed to use port 5 as the IMP port.
Could you try to program GMNGCFG (page 0x02, offset 0) bits 7:6 to have
the value 0b11 which is dual IMP port (IMPO is port 8 and IMP1 is port
5) and see if that helps?
--
Florian
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH net] net: dsa: b53: prevent standalone from trying to forward to other ports
2026-02-26 21:26 ` Florian Fainelli
@ 2026-02-27 12:23 ` Rafał Miłecki
2026-02-27 13:32 ` Rafał Miłecki
0 siblings, 1 reply; 13+ messages in thread
From: Rafał Miłecki @ 2026-02-27 12:23 UTC (permalink / raw)
To: Florian Fainelli
Cc: Jonas Gorski, Andrew Lunn, Vladimir Oltean, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Florian Fainelli,
netdev, linux-kernel, Hauke Mehrtens
czw., 26 lut 2026 o 22:26 Florian Fainelli
<florian.fainelli@broadcom.com> napisał(a):
> On 2/26/26 12:24, Rafał Miłecki wrote:
> > W dniu 8.05.2025 o 11:14, Jonas Gorski pisze:
> >> When bridged ports and standalone ports share a VLAN, e.g. via VLAN
> >> uppers, or untagged traffic with a vlan unaware bridge, the ASIC will
> >> still try to forward traffic to known FDB entries on standalone ports.
> >> But since the port VLAN masks prevent forwarding to bridged ports, this
> >> traffic will be dropped.
> >>
> >> This e.g. can be observed in the bridge_vlan_unaware ping tests, where
> >> this breaks pinging with learning on.
> >>
> >> Work around this by enabling the simplified EAP mode on switches
> >> supporting it for standalone ports, which causes the ASIC to redirect
> >> traffic of unknown source MAC addresses to the CPU port.
> >>
> >> Since standalone ports do not learn, there are no known source MAC
> >> addresses, so effectively this redirects all incoming traffic to the CPU
> >> port.
> >
> > This change broke standalone ports (those not being part of bridge) on
> > Northstar (BCM5301X) devices. We got reports from users about WAN ports
> > on routers not working anymore:
> > https://github.com/openwrt/openwrt/issues/21187
> > https://github.com/openwrt/openwrt/issues/21349
> >
> > Can you take another look at those changes, see if something me be
> > wrong / missing?
>
> Checking the BCM5301X datasheet, the register definitions look correct.
>
> The first report appears to be for a Netgear R7000 which AFAICT would
> utilize port 8 of the switch as the CPU port, which would be correct.
>
> The other report is for a Netgear R6250 where port 5 would be acting as
> the CPU port, that could be an issue unless the switch is also
> programmed to use port 5 as the IMP port.
>
> Could you try to program GMNGCFG (page 0x02, offset 0) bits 7:6 to have
> the value 0b11 which is dual IMP port (IMPO is port 8 and IMP1 is port
> 5) and see if that helps?
On my Luxul XWR-3150 (it uses gmac0 and port 5) the value of
B53_MGMT_PAGE (0x02) / B53_GLOBAL_CONFIG (0x00) is 0xc2. Nothing to
set there I suppose?
--
Rafał
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH net] net: dsa: b53: prevent standalone from trying to forward to other ports
2026-02-27 12:23 ` Rafał Miłecki
@ 2026-02-27 13:32 ` Rafał Miłecki
2026-02-27 17:58 ` Florian Fainelli
0 siblings, 1 reply; 13+ messages in thread
From: Rafał Miłecki @ 2026-02-27 13:32 UTC (permalink / raw)
To: Florian Fainelli
Cc: Jonas Gorski, Andrew Lunn, Vladimir Oltean, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Florian Fainelli,
netdev, linux-kernel, Hauke Mehrtens
pt., 27 lut 2026 o 13:23 Rafał Miłecki <zajec5@gmail.com> napisał(a):
> czw., 26 lut 2026 o 22:26 Florian Fainelli
> <florian.fainelli@broadcom.com> napisał(a):
> > Could you try to program GMNGCFG (page 0x02, offset 0) bits 7:6 to have
> > the value 0b11 which is dual IMP port (IMPO is port 8 and IMP1 is port
> > 5) and see if that helps?
>
> On my Luxul XWR-3150 (it uses gmac0 and port 5) the value of
> B53_MGMT_PAGE (0x02) / B53_GLOBAL_CONFIG (0x00) is 0xc2. Nothing to
> set there I suppose?
I tried other possible values:
0x02
0x82
0x42
None affected my switch / wan / lan ports.
--
Rafał
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH net] net: dsa: b53: prevent standalone from trying to forward to other ports
2026-02-27 13:32 ` Rafał Miłecki
@ 2026-02-27 17:58 ` Florian Fainelli
2026-02-27 18:13 ` Rafał Miłecki
0 siblings, 1 reply; 13+ messages in thread
From: Florian Fainelli @ 2026-02-27 17:58 UTC (permalink / raw)
To: Rafał Miłecki, Florian Fainelli
Cc: Jonas Gorski, Andrew Lunn, Vladimir Oltean, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, netdev, linux-kernel,
Hauke Mehrtens
On 2/27/26 05:32, Rafał Miłecki wrote:
> pt., 27 lut 2026 o 13:23 Rafał Miłecki <zajec5@gmail.com> napisał(a):
>> czw., 26 lut 2026 o 22:26 Florian Fainelli
>> <florian.fainelli@broadcom.com> napisał(a):
>>> Could you try to program GMNGCFG (page 0x02, offset 0) bits 7:6 to have
>>> the value 0b11 which is dual IMP port (IMPO is port 8 and IMP1 is port
>>> 5) and see if that helps?
>>
>> On my Luxul XWR-3150 (it uses gmac0 and port 5) the value of
>> B53_MGMT_PAGE (0x02) / B53_GLOBAL_CONFIG (0x00) is 0xc2. Nothing to
>> set there I suppose?
>
> I tried other possible values:
> 0x02
> 0x82
> 0x42
>
> None affected my switch / wan / lan ports.
>
Thanks for giving it a try, how about the BRCM_HDR_CTRL register
programming (page 0x02, offset 0x03)? Can you see whether it is set to
0x3 or 0x1?
--
Florian
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH net] net: dsa: b53: prevent standalone from trying to forward to other ports
2026-02-27 17:58 ` Florian Fainelli
@ 2026-02-27 18:13 ` Rafał Miłecki
2026-02-28 13:30 ` Jonas Gorski
0 siblings, 1 reply; 13+ messages in thread
From: Rafał Miłecki @ 2026-02-27 18:13 UTC (permalink / raw)
To: Florian Fainelli
Cc: Florian Fainelli, Jonas Gorski, Andrew Lunn, Vladimir Oltean,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
netdev, linux-kernel, Hauke Mehrtens
pt., 27 lut 2026 o 18:58 Florian Fainelli <f.fainelli@gmail.com> napisał(a):
> On 2/27/26 05:32, Rafał Miłecki wrote:
> > pt., 27 lut 2026 o 13:23 Rafał Miłecki <zajec5@gmail.com> napisał(a):
> >> czw., 26 lut 2026 o 22:26 Florian Fainelli
> >> <florian.fainelli@broadcom.com> napisał(a):
> >>> Could you try to program GMNGCFG (page 0x02, offset 0) bits 7:6 to have
> >>> the value 0b11 which is dual IMP port (IMPO is port 8 and IMP1 is port
> >>> 5) and see if that helps?
> >>
> >> On my Luxul XWR-3150 (it uses gmac0 and port 5) the value of
> >> B53_MGMT_PAGE (0x02) / B53_GLOBAL_CONFIG (0x00) is 0xc2. Nothing to
> >> set there I suppose?
> >
> > I tried other possible values:
> > 0x02
> > 0x82
> > 0x42
> >
> > None affected my switch / wan / lan ports.
> >
>
> Thanks for giving it a try, how about the BRCM_HDR_CTRL register
> programming (page 0x02, offset 0x03)? Can you see whether it is set to
> 0x3 or 0x1?
It's 0x02 which seems to match BRCM_HDR_P5_EN. It makes sense as
XWR-3150 uses gmac0 + port 5.
--
Rafał
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH net] net: dsa: b53: prevent standalone from trying to forward to other ports
2026-02-27 18:13 ` Rafał Miłecki
@ 2026-02-28 13:30 ` Jonas Gorski
2026-03-02 12:34 ` Rafał Miłecki
0 siblings, 1 reply; 13+ messages in thread
From: Jonas Gorski @ 2026-02-28 13:30 UTC (permalink / raw)
To: Rafał Miłecki
Cc: Florian Fainelli, Florian Fainelli, Andrew Lunn, Vladimir Oltean,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
netdev, linux-kernel, Hauke Mehrtens
Hi,
sorry for being late to the party; currently on vacation (be back
early next week).
On Fri, Feb 27, 2026 at 7:13 PM Rafał Miłecki <zajec5@gmail.com> wrote:
>
> pt., 27 lut 2026 o 18:58 Florian Fainelli <f.fainelli@gmail.com> napisał(a):
> > On 2/27/26 05:32, Rafał Miłecki wrote:
> > > pt., 27 lut 2026 o 13:23 Rafał Miłecki <zajec5@gmail.com> napisał(a):
> > >> czw., 26 lut 2026 o 22:26 Florian Fainelli
> > >> <florian.fainelli@broadcom.com> napisał(a):
> > >>> Could you try to program GMNGCFG (page 0x02, offset 0) bits 7:6 to have
> > >>> the value 0b11 which is dual IMP port (IMPO is port 8 and IMP1 is port
> > >>> 5) and see if that helps?
> > >>
> > >> On my Luxul XWR-3150 (it uses gmac0 and port 5) the value of
> > >> B53_MGMT_PAGE (0x02) / B53_GLOBAL_CONFIG (0x00) is 0xc2. Nothing to
> > >> set there I suppose?
> > >
> > > I tried other possible values:
> > > 0x02
> > > 0x82
> > > 0x42
> > >
> > > None affected my switch / wan / lan ports.
> > >
> >
> > Thanks for giving it a try, how about the BRCM_HDR_CTRL register
> > programming (page 0x02, offset 0x03)? Can you see whether it is set to
> > 0x3 or 0x1?
>
> It's 0x02 which seems to match BRCM_HDR_P5_EN. It makes sense as
> XWR-3150 uses gmac0 + port 5.
Does this affect all ports, or only the wan port?
Have you tried to check the hardware counters if they get sent out a
different (cpu) port? AFAIK they should be available as ethtool
counters via gmacs, though I'm not 100% sure.
Can you check the contents of the EAP Port config registers? Maybe
some extra mode is set there by default.
I don't have NS(+) device, so I can only guess. Though I always
wondered if the setup which CPU port (5/8/both) to use is just a
software thing or actually a hardware thing ... .
Best regards,
Jonas
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH net] net: dsa: b53: prevent standalone from trying to forward to other ports
2026-02-28 13:30 ` Jonas Gorski
@ 2026-03-02 12:34 ` Rafał Miłecki
0 siblings, 0 replies; 13+ messages in thread
From: Rafał Miłecki @ 2026-03-02 12:34 UTC (permalink / raw)
To: Jonas Gorski
Cc: Florian Fainelli, Florian Fainelli, Andrew Lunn, Vladimir Oltean,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
netdev, linux-kernel, Hauke Mehrtens
sob., 28 lut 2026 o 14:30 Jonas Gorski <jonas.gorski@gmail.com> napisał(a):
> Does this affect all ports, or only the wan port?
Problem affects every standalone port (one that isn't part of a bridge).
> Have you tried to check the hardware counters if they get sent out a
> different (cpu) port? AFAIK they should be available as ethtool
> counters via gmacs, though I'm not 100% sure.
With your patch:
1. "rx_packets" stays 0
2. "rx_bytes" stays 0
3. "RxDiscarded" goes higher than 0
> Can you check the contents of the EAP Port config registers? Maybe
> some extra mode is set there by default.
All my B53_EAP_PAGE / B53_PORT_EAP_CONF(port) registers are set to 0 by default.
> I don't have NS(+) device, so I can only guess. Though I always
> wondered if the setup which CPU port (5/8/both) to use is just a
> software thing or actually a hardware thing ... .
Without your patch, 10 s after connecting cable to "wan" port:
NIC statistics:
tx_packets: 13
tx_bytes: 1998
rx_packets: 2
rx_bytes: 1180
TxOctets: 2052
TxDropPkts: 0
TxBroadcastPkts: 2
TxMulticastPkts: 11
TxUnicastPkts: 0
TxCollisions: 0
TxSingleCollision: 0
TxMultipleCollision: 0
TxDeferredTransmit: 0
TxLateCollision: 0
TxExcessiveCollision: 0
TxPausePkts: 0
RxOctets: 1188
RxUndersizePkts: 0
RxPausePkts: 0
Pkts64Octets: 0
Pkts65to127Octets: 0
Pkts128to255Octets: 0
Pkts256to511Octets: 0
Pkts512to1023Octets: 2
Pkts1024to1522Octets: 0
RxOversizePkts: 0
RxJabbers: 0
RxAlignmentErrors: 0
RxFCSErrors: 0
RxGoodOctets: 1188
RxDropPkts: 0
RxUnicastPkts: 2
RxMulticastPkts: 0
RxBroadcastPkts: 0
RxSAChanges: 1
RxFragments: 0
RxJumboPkts: 0
RxSymbolErrors: 0
RxDiscarded: 0
With your patch, 10 s after connecting cable to "wan" port:
NIC statistics:
tx_packets: 14
tx_bytes: 2334
rx_packets: 0
rx_bytes: 0
TxOctets: 2392
TxDropPkts: 0
TxBroadcastPkts: 3
TxMulticastPkts: 11
TxUnicastPkts: 0
TxCollisions: 0
TxSingleCollision: 0
TxMultipleCollision: 0
TxDeferredTransmit: 0
TxLateCollision: 0
TxExcessiveCollision: 0
TxPausePkts: 0
RxOctets: 1782
RxUndersizePkts: 0
RxPausePkts: 0
Pkts64Octets: 0
Pkts65to127Octets: 0
Pkts128to255Octets: 0
Pkts256to511Octets: 0
Pkts512to1023Octets: 3
Pkts1024to1522Octets: 0
RxOversizePkts: 0
RxJabbers: 0
RxAlignmentErrors: 0
RxFCSErrors: 0
RxGoodOctets: 1782
RxDropPkts: 0
RxUnicastPkts: 3
RxMulticastPkts: 0
RxBroadcastPkts: 0
RxSAChanges: 1
RxFragments: 0
RxJumboPkts: 0
RxSymbolErrors: 0
RxDiscarded: 3
--
Rafał
^ permalink raw reply [flat|nested] 13+ messages in thread