From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CF611C43381 for ; Wed, 20 Feb 2019 19:09:13 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id AC09C20855 for ; Wed, 20 Feb 2019 19:09:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726177AbfBTTJM (ORCPT ); Wed, 20 Feb 2019 14:09:12 -0500 Received: from shards.monkeyblade.net ([23.128.96.9]:54666 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725822AbfBTTJM (ORCPT ); Wed, 20 Feb 2019 14:09:12 -0500 Received: from localhost (unknown [IPv6:2601:601:9f80:35cd::bf5]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 630BF121068CF; Wed, 20 Feb 2019 11:09:11 -0800 (PST) Date: Wed, 20 Feb 2019 11:09:10 -0800 (PST) Message-Id: <20190220.110910.773044841090672951.davem@davemloft.net> To: rmk+kernel@armlinux.org.uk Cc: andrew@lunn.ch, f.fainelli@gmail.com, vivien.didelot@gmail.com, netdev@vger.kernel.org Subject: Re: [PATCH net] net: dsa: fix unintended change of bridge interface STP state From: David Miller In-Reply-To: References: X-Mailer: Mew version 6.8 on Emacs 26.1 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Wed, 20 Feb 2019 11:09:11 -0800 (PST) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Russell King 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 Applied, thanks.