Received: by 2002:a05:6358:1087:b0:cb:c9d3:cd90 with SMTP id j7csp1507808rwi; Thu, 20 Oct 2022 13:26:49 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6Of3/+3dHu5whc7DxLZSZ2MOakvF3MfnO34g+z+htFjMPK93kDdFnIYQURSasTTSJw90vb X-Received: by 2002:a17:907:7d8e:b0:78d:ed30:643b with SMTP id oz14-20020a1709077d8e00b0078ded30643bmr12237394ejc.253.1666297609172; Thu, 20 Oct 2022 13:26:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666297609; cv=none; d=google.com; s=arc-20160816; b=OS0jtot3fYSGSf5AC3HtzCag45S6sxz0qron+9A/ickPtC7N2Pv0xBE/lZwuDfkll2 mrIzG34XYQnzVgbmZluAwoV+H8esUVyO4JCNU8vPQwC7zrr3oNPnY00CDOiw3drgJ3Ot GRNSMgRuytR3uWUtZmOTr9liRHNRUStkLMsUoM5+KgFOK1k2BagTYpHJTykVXMlzSoIn bIW3QorNI81hYnkNG+/iuBryiII2vYftaOQfZpKR/v8YOdLg7xDkCOTBRnic7t5XsV5t m+CtHs363jIN9bN2WTQOsOOoFLbXtrAgyPvjsHZZTvbCYSpjkDCP4zwI9mN4xXqqM7Wc s6Yg== 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=M4lf75jTzG3+ZxqRTY+jU9PXmJ1LNBA3/UEUSDYKYmw=; b=mss3w2V0iY6iDK/J1xGEPV9/UMUJWk4Yv4/YMmH71HU4pFxhuaIDlpNCzJWA4J+joT 0qoj4M1XSWxizSOvPoufRRwmKPcxgCGfLrYBWqAWOe53tlr6LcRRlEz73PKwxdy5Kkzr 8jxTJtNro34u2vGfxoUvGXPb+QzO5R2WZuFocTJpp66fH7y+O/jop/cIQTbQDvT8pw3Y Lig3JVFO0h8TJ5keU8bLHy4kn34iuoeYtXrNv2cRJaUvSYIOfR3WHxvlcduRGO/pIcqR 49+CyI+EU9oisKbqGGxbjIW/w1vCSKZmTCZR1nmh9cW1OJZXfk3dRAqJfJN5v2F8SDAy +okA== 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 bh6-20020a170906a0c600b0073d5f9aa5e9si15524352ejb.327.2022.10.20.13.26.23; Thu, 20 Oct 2022 13:26:49 -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 S230009AbiJTUVQ (ORCPT + 99 others); Thu, 20 Oct 2022 16:21:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44508 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229988AbiJTUVN (ORCPT ); Thu, 20 Oct 2022 16:21:13 -0400 Received: from mailout-taastrup.gigahost.dk (mailout-taastrup.gigahost.dk [46.183.139.199]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 55CA31F9A0C; Thu, 20 Oct 2022 13:20:52 -0700 (PDT) Received: from mailout.gigahost.dk (mailout.gigahost.dk [89.186.169.112]) by mailout-taastrup.gigahost.dk (Postfix) with ESMTP id 061771884A7E; Thu, 20 Oct 2022 20:20:51 +0000 (UTC) Received: from smtp.gigahost.dk (smtp.gigahost.dk [89.186.169.109]) by mailout.gigahost.dk (Postfix) with ESMTP id DBA3025004E9; Thu, 20 Oct 2022 20:20:50 +0000 (UTC) Received: by smtp.gigahost.dk (Postfix, from userid 1000) id CD02F9EC0002; Thu, 20 Oct 2022 20:20:50 +0000 (UTC) X-Screener-Id: 413d8c6ce5bf6eab4824d0abaab02863e8e3f662 MIME-Version: 1.0 Date: Thu, 20 Oct 2022 22:20:50 +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: <2565c09bb95d69142522c3c3bcaa599e@kapio-technology.com> 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: >> diff --git a/drivers/net/dsa/mv88e6xxx/chip.c >> b/drivers/net/dsa/mv88e6xxx/chip.c >> index 352121cce77e..71843fe87f77 100644 >> --- a/drivers/net/dsa/mv88e6xxx/chip.c >> +++ b/drivers/net/dsa/mv88e6xxx/chip.c >> @@ -42,6 +42,7 @@ >> #include "ptp.h" >> #include "serdes.h" >> #include "smi.h" >> +#include "switchdev.h" >> >> static void assert_reg_lock(struct mv88e6xxx_chip *chip) >> { >> @@ -924,6 +925,13 @@ static void mv88e6xxx_mac_link_down(struct >> dsa_switch *ds, int port, >> if (err) >> dev_err(chip->dev, >> "p%d: failed to force MAC link down\n", port); >> + else >> + if (mv88e6xxx_port_is_locked(chip, port)) { >> + err = mv88e6xxx_atu_locked_entry_flush(ds, port); >> + if (err) >> + dev_err(chip->dev, >> + "p%d: failed to clear locked entries\n", port); >> + } > > 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. > In general locked ports block traffic from a host based on if there is a FDB entry or not. In the non-offloaded case, there is only CPU assisted learning, so the normal learning mechanism has to be disabled as any learned entry will open the port for the learned MAC,vlan. Thus learning is off for locked ports, which of course includes MAB. So the 'learning' is based on authorizing MAC,vlan addresses, which is done by userspace daemons, e.g. hostapd or what could be called mabd.