mv88e6xxx: 88ae6321 not learning bridge mac address

2 messages, 2 authors, 2021-09-21 · open the first message on its own page

mv88e6xxx: 88ae6321 not learning bridge mac address

From: Bas Vermeulen <hidden>
Date: 2021-09-21 09:12:12

Hi,

I am working on a custom i.MX8 board using a Marvell 88ae6321 switch. 
We're not using the latest kernel unfortunately, but 5.4.70 with patches 
from NXP and ourselves.

The switch is connected as follows:

CPU - fec ethernet -> 88ae6321 on port 5, with external PHYs on port 1, 
2 and 6, and using the internal PHY on port 3 and 4.

We set up a bridge with swp1, swp2, swp3, swp4, and swp6. Traffic from 
the various ports all learn correctly, with the exception of the bridge 
itself (and probably the CPU port?).

If I ping the bridge address from one of the clients, the switch floods 
the ping request to all ports.
If I ping a client from the bridge address, the ping request goes to 
that client, the reply goes to all connected ports. This also happens if 
I use iperf3 to test the bandwidth, and will limit the bandwidth 
available when sending from the client to the lowest link on the switch.

Anyone have an idea how to fix this? It's possible I've misconfigured 
something, but I'm not sure what it could be. If there is a way to teach 
the 88ae6321 that a mac address is available on the CPU port, that would 
fix it, for instance. I tried adding the switch mac address with bridge 
fdb add, but that didn't work.

Regards,

Bas Vermeulen

Re: mv88e6xxx: 88ae6321 not learning bridge mac address

From: Andrew Lunn <andrew@lunn.ch>
Date: 2021-09-21 12:08:39

On Tue, Sep 21, 2021 at 11:02:43AM +0200, Bas Vermeulen wrote:
Hi,

I am working on a custom i.MX8 board using a Marvell 88ae6321 switch. We're
not using the latest kernel unfortunately, but 5.4.70 with patches from NXP
and ourselves.

The switch is connected as follows:

CPU - fec ethernet -> 88ae6321 on port 5, with external PHYs on port 1, 2
and 6, and using the internal PHY on port 3 and 4.

We set up a bridge with swp1, swp2, swp3, swp4, and swp6. Traffic from the
various ports all learn correctly, with the exception of the bridge itself
(and probably the CPU port?).

If I ping the bridge address from one of the clients, the switch floods the
ping request to all ports.
If I ping a client from the bridge address, the ping request goes to that
client, the reply goes to all connected ports. This also happens if I use
iperf3 to test the bandwidth, and will limit the bandwidth available when
sending from the client to the lowest link on the switch.

Anyone have an idea how to fix this? It's possible I've misconfigured
something, but I'm not sure what it could be. If there is a way to teach the
88ae6321 that a mac address is available on the CPU port, that would fix it,
for instance. I tried adding the switch mac address with bridge fdb add, but
that didn't work.
There has been work on this area recently. Please try a modern kernel
and see if it works. If it does, you can then decide if you want to
backport the changes, or upgrade your kernel.

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