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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0B09AC4332F for ; Thu, 20 Oct 2022 21:11:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Message-ID:References:In-Reply-To:Subject:Cc:To:From :Date:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=uOzhKhbuoVBRz5cJd7Qi7RbMx/IHrLhst1CCuu7twWY=; b=cYSZO4mL4us0s9MaTp5HOcD+25 mDVX4hndST/OtNAT01vKakNdoKmVd3J5IOVUG7/OcXmTbntQcIzjSkNJiwSoIcPUj67vQMgi73o2W Wra2gmYF9z90cADr1gcMu5oz7ggU99KogfpEz/oHzRVlbaBOLxccbZZbrNp9tMNbv0RHUMIzAgCCe y2cojNVCYnYUzpY7UWGTbCx4xVx5Ig5khuH3xTBIjerKx2d6egbfrHaz5rh34hBhit/5Ze0b5rI8y FiHEw3nhJXQxghmez5s5VFDEuiUAFB78hOpblpvoLrn7hguOTSin4dFR4F+LSI+AvyBFnWNwQxJr8 LzZNjKqw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1olcnU-001t3J-8T; Thu, 20 Oct 2022 21:09:48 +0000 Received: from mailout-taastrup.gigahost.dk ([46.183.139.199]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1olcnR-001sxs-Aa; Thu, 20 Oct 2022 21:09:46 +0000 Received: from mailout.gigahost.dk (mailout.gigahost.dk [89.186.169.112]) by mailout-taastrup.gigahost.dk (Postfix) with ESMTP id F066718849CE; Thu, 20 Oct 2022 21:09:40 +0000 (UTC) Received: from smtp.gigahost.dk (smtp.gigahost.dk [89.186.169.109]) by mailout.gigahost.dk (Postfix) with ESMTP id D1DD725001FA; Thu, 20 Oct 2022 21:09:40 +0000 (UTC) Received: by smtp.gigahost.dk (Postfix, from userid 1000) id C9D209EC0002; Thu, 20 Oct 2022 21:09:40 +0000 (UTC) X-Screener-Id: 413d8c6ce5bf6eab4824d0abaab02863e8e3f662 MIME-Version: 1.0 Date: Thu, 20 Oct 2022 23:09:40 +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: <3e58594c1223f4591e56409cd5061de7@kapio-technology.com> X-Sender: netdev@kapio-technology.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221020_140945_545513_A80A8746 X-CRM114-Status: GOOD ( 23.96 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 2022-10-20 15:25, Vladimir Oltean wrote: > > This would not have been needed if dsa_port_set_state() would have > called dsa_port_fast_age(). > > Currently it only does that if dp->learning is true. From previous > conversations I get the idea that with MAB, port learning will be > false. > But I don't understand why; isn't MAB CPU-assisted learning? I'm > looking > at the ocelot hardware support for this and I think it could be > implemented using a similar mechanism, but I certainly don't want to > add > more workarounds such as this in other drivers. > > Are there any other ways to implement MAB other than through CPU > assisted learning? > > We could add one more dp->mab flag which tracks the "mab" brport flag, > and extend dsa_port_set_state() to also call dsa_port_fast_age() in > that > case, but I want to make sure there isn't something extremely obvious > I'm missing about the "learning" flag. > As learning is off on locked ports, see other response, your dp->mab flag idea might be a way to go, just need confirmation that this is needed. >> @@ -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. > Maybe I am wrong, but I have only been able to trigger fast ageing by setting the STP state of the port to blocked... _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel