Received: by 2002:a05:6358:1087:b0:cb:c9d3:cd90 with SMTP id j7csp3834895rwi; Sat, 22 Oct 2022 00:35:18 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4n4RYb7Xasr3eefUQHyKjR4LgVsfWO94Z+/GZHKSyFO2ta1slEfMW53z6whT3N5rL4ZMS5 X-Received: by 2002:a17:90a:f507:b0:211:e623:da5b with SMTP id cs7-20020a17090af50700b00211e623da5bmr14978712pjb.37.1666424118570; Sat, 22 Oct 2022 00:35:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666424118; cv=none; d=google.com; s=arc-20160816; b=bEZ0l31AxqslmvtQ/ZD3bRh1xeb1nhDgSplLxYxHmm+CVG2MnzHsUXF9i9YvySwBQ3 IrSNI0WYRigciIRGLRpfUnSzsDOq/SQVThfWz9bxsf+JMCu7NtBai0LcGvjCSLsI2kwP 5Ov7iNHH73T/vq4CM/43nFSnIIDCNmIxtg05jcgjO5/EVBvyavbcfKJ4hBlWcgYs4ikd 2igMeeRYaJpp441C9MAMf6NrPhdPbccdBDsjxMNmVhtLV4C0AsBofCsT0FP9TNWE463R xwKz2dpET5oi0cHPv9a24nJUp++S8wyWt+8KuyJHkMnLjG9qFYtf0O7z/VYZTCAkJx8O Hzzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:message-id:user-agent :references:in-reply-to:subject:cc:to:from:date:mime-version; bh=BOh/HrsWE+EBuN5XN/axjsbzBB8VY3U7pb7+1bi5OU8=; b=H/Bdzj6Du6KkzVFrrFfIHU5ikDJuxF/S4gLVedP7wgJwowFnsOqMGHYSBGYDHC9HUg j+c278l7IdLErJR1o6UOSi0XZRkhM6c7Okosd1nLELVkFPELkCyfCO2dkt5YGB7SEXRH APCaGYiWYBUtyCxPaMmYxktL5KYx6GSwBxH+4zXVH4IFDncJqTohBh0cR5EfRN7uPgT+ JiV/HsyOxxLklQ4rdyTag6Uw9iuHoENxcpeQnXk7XFNNN0deIBa7S8yAtPPQ2sOlx8c7 gTQ2Couq2EHHglffTBFDRr3NQmrc2O7RCvOsOueOK4rSuwXGmf8NpEuu3vH6CgG0OgOB BSoQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p41-20020a056a000a2900b0052acaf4a3c0si33055456pfh.17.2022.10.22.00.35.06; Sat, 22 Oct 2022 00:35:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229571AbiJVHbP (ORCPT + 99 others); Sat, 22 Oct 2022 03:31:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42984 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229782AbiJVHbL (ORCPT ); Sat, 22 Oct 2022 03:31:11 -0400 Received: from mailout-taastrup.gigahost.dk (mailout-taastrup.gigahost.dk [46.183.139.199]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6405917F666; Sat, 22 Oct 2022 00:31:07 -0700 (PDT) Received: from mailout.gigahost.dk (mailout.gigahost.dk [89.186.169.112]) by mailout-taastrup.gigahost.dk (Postfix) with ESMTP id 5D13718845FE; Sat, 22 Oct 2022 07:31:06 +0000 (UTC) Received: from smtp.gigahost.dk (smtp.gigahost.dk [89.186.169.109]) by mailout.gigahost.dk (Postfix) with ESMTP id 57389250007B; Sat, 22 Oct 2022 07:31:06 +0000 (UTC) Received: by smtp.gigahost.dk (Postfix, from userid 1000) id 3B3579EC0002; Sat, 22 Oct 2022 07:31:06 +0000 (UTC) X-Screener-Id: 413d8c6ce5bf6eab4824d0abaab02863e8e3f662 MIME-Version: 1.0 Date: Sat, 22 Oct 2022 09:31:06 +0200 From: netdev@kapio-technology.com To: Vladimir Oltean Cc: davem@davemloft.net, kuba@kernel.org, netdev@vger.kernel.org, Florian Fainelli , Andrew Lunn , Vivien Didelot , Eric Dumazet , Paolo Abeni , Kurt Kanzenbach , Hauke Mehrtens , Woojung Huh , UNGLinuxDriver@microchip.com, Sean Wang , Landen Chao , DENG Qingfang , Matthias Brugger , Claudiu Manoil , Alexandre Belloni , Jiri Pirko , Ivan Vecera , Roopa Prabhu , Nikolay Aleksandrov , Shuah Khan , Russell King , Christian Marangi , Daniel Borkmann , Yuwei Wang , Petr Machata , Ido Schimmel , Florent Fourcot , Hans Schultz , Joachim Wiberg , Amit Cohen , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, bridge@lists.linux-foundation.org, linux-kselftest@vger.kernel.org Subject: Re: [PATCH v8 net-next 10/12] net: dsa: mv88e6xxx: mac-auth/MAB implementation In-Reply-To: <20221020132538.reirrskemcjwih2m@skbuf> References: <20221018165619.134535-1-netdev@kapio-technology.com> <20221018165619.134535-1-netdev@kapio-technology.com> <20221018165619.134535-11-netdev@kapio-technology.com> <20221018165619.134535-11-netdev@kapio-technology.com> <20221020132538.reirrskemcjwih2m@skbuf> User-Agent: Gigahost Webmail Message-ID: X-Sender: netdev@kapio-technology.com Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW, SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2022-10-20 15:25, Vladimir Oltean wrote: >> if (flags.mask & BR_LEARNING) { >> bool learning = !!(flags.val & BR_LEARNING); >> u16 pav = learning ? (1 << port) : 0; >> >> + mv88e6xxx_reg_lock(chip); >> err = mv88e6xxx_port_set_assoc_vector(chip, port, pav); >> + mv88e6xxx_reg_unlock(chip); >> if (err) >> goto out; >> } >> @@ -6563,8 +6593,10 @@ static int mv88e6xxx_port_bridge_flags(struct >> dsa_switch *ds, int port, >> if (flags.mask & BR_FLOOD) { >> bool unicast = !!(flags.val & BR_FLOOD); >> >> + mv88e6xxx_reg_lock(chip); >> err = chip->info->ops->port_set_ucast_flood(chip, port, >> unicast); >> + mv88e6xxx_reg_unlock(chip); >> if (err) >> goto out; >> } >> @@ -6572,8 +6604,10 @@ static int mv88e6xxx_port_bridge_flags(struct >> dsa_switch *ds, int port, >> if (flags.mask & BR_MCAST_FLOOD) { >> bool multicast = !!(flags.val & BR_MCAST_FLOOD); >> >> + mv88e6xxx_reg_lock(chip); >> err = chip->info->ops->port_set_mcast_flood(chip, port, >> multicast); >> + mv88e6xxx_reg_unlock(chip); >> if (err) >> goto out; >> } >> @@ -6581,20 +6615,34 @@ static int mv88e6xxx_port_bridge_flags(struct >> dsa_switch *ds, int port, >> if (flags.mask & BR_BCAST_FLOOD) { >> bool broadcast = !!(flags.val & BR_BCAST_FLOOD); >> >> + mv88e6xxx_reg_lock(chip); >> err = mv88e6xxx_port_broadcast_sync(chip, port, broadcast); >> + mv88e6xxx_reg_unlock(chip); >> if (err) >> goto out; >> } >> >> + if (flags.mask & BR_PORT_MAB) { >> + chip->ports[port].mab = !!(flags.val & BR_PORT_MAB); >> + >> + if (!chip->ports[port].mab) >> + err = mv88e6xxx_atu_locked_entry_flush(ds, port); >> + else >> + err = 0; > > Again, dsa_port_fast_age() is also called when dp->learning is turned > off in dsa_port_bridge_flags(). I don't want to see the mv88e6xxx > driver > doing this manually. > But I think it should be so that turning MAB off will clear the ALE entries regardless, as the port can continue to be locked and needing port association, or you want them to just age out normally in that case, thus lingering for up to bridge ageing time?