[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20190220.110910.773044841090672951.davem@davemloft.net>
Date: Wed, 20 Feb 2019 11:09:10 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: rmk+kernel@...linux.org.uk
Cc: andrew@...n.ch, f.fainelli@...il.com, vivien.didelot@...il.com,
netdev@...r.kernel.org
Subject: Re: [PATCH net] net: dsa: fix unintended change of bridge
interface STP state
From: Russell King <rmk+kernel@...linux.org.uk>
Date: Wed, 20 Feb 2019 10:32:52 +0000
> When a DSA port is added to a bridge and brought up, the resulting STP
> state programmed into the hardware depends on the order that these
> operations are performed. However, the Linux bridge code believes that
> the port is in disabled mode.
>
> If the DSA port is first added to a bridge and then brought up, it will
> be in blocking mode. If it is brought up and then added to the bridge,
> it will be in disabled mode.
>
> This difference is caused by DSA always setting the STP mode in
> dsa_port_enable() whether or not this port is part of a bridge. Since
> bridge always sets the STP state when the port is added, brought up or
> taken down, it is unnecessary for us to manipulate the STP state.
>
> Apparently, this code was copied from Rocker, and the very next day a
> similar fix for Rocker was merged but was not propagated to DSA. See
> e47172ab7e41 ("rocker: put port in FORWADING state after leaving bridge")
>
> Fixes: b73adef67765 ("net: dsa: integrate with SWITCHDEV for HW bridging")
> Signed-off-by: Russell King <rmk+kernel@...linux.org.uk>
Applied, thanks.
Powered by blists - more mailing lists