[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20211126125512.qgld6r5a7ylcseot@skbuf>
Date: Fri, 26 Nov 2021 14:55:12 +0200
From: Vladimir Oltean <olteanv@...il.com>
To: Oleksij Rempel <o.rempel@...gutronix.de>
Cc: Woojung Huh <woojung.huh@...rochip.com>,
UNGLinuxDriver@...rochip.com, Andrew Lunn <andrew@...n.ch>,
Florian Fainelli <f.fainelli@...il.com>,
Vivien Didelot <vivien.didelot@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, kernel@...gutronix.de,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH net v3 1/1] net: dsa: microchip: implement multi-bridge
support
On Fri, Nov 26, 2021 at 01:39:26PM +0100, Oleksij Rempel wrote:
> Current driver version is able to handle only one bridge at time.
> Configuring two bridges on two different ports would end up shorting this
> bridges by HW. To reproduce it:
>
> ip l a name br0 type bridge
> ip l a name br1 type bridge
> ip l s dev br0 up
> ip l s dev br1 up
> ip l s lan1 master br0
> ip l s dev lan1 up
> ip l s lan2 master br1
> ip l s dev lan2 up
>
> Ping on lan1 and get response on lan2, which should not happen.
>
> This happened, because current driver version is storing one global "Port VLAN
> Membership" and applying it to all ports which are members of any
> bridge.
> To solve this issue, we need to handle each port separately.
>
> This patch is dropping the global port member storage and calculating
> membership dynamically depending on STP state and bridge participation.
>
> Note: STP support was broken before this patch and should be fixed
> separately.
>
> Fixes: c2e866911e25 ("net: dsa: microchip: break KSZ9477 DSA driver into two files")
> Signed-off-by: Oleksij Rempel <o.rempel@...gutronix.de>
> ---
Reviewed-by: Vladimir Oltean <olteanv@...il.com>
Powered by blists - more mailing lists