From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version; bh=QdNf1+ADCDYIFdMt/u0EWuhJR3TaXSiM6WxoeP7Eubo=; b=Sr4MSscJ3lDmLRDowY0p2F36myUdh5acadCAYqP6y6lRile9Ir7mBytU3OgIgUFZUF 1CZmrb7YxF0A/b4XWk+rLAlmOMiQjL46TOhhS7qsB53sWCKLsbpKldE6N0S+YBplVoLB sBFlPQHIBjuSbG9EpX2gv1OPch3Sk2FPoFD83yjh3A0AQcFC+VJSX/x8knhDDr8Slx3u fNNpeIEbuIkrcndC7Dvct4MzKA2XSMmQWZ8MfgMcux/h4yPji5DwAZzb0jiCg572EYsm XrKx+EfbQEcGjMEUs/Rmc8WtDaD0J5+3bRqRVXOgWRlbpgBWbh6Kwc1zXesWIptqZbP+ VjbQ== From: Hans Schultz In-Reply-To: References: <20220524152144.40527-2-schultz.hans+netdev@gmail.com> <86sfov2w8k.fsf@gmail.com> <86sfoqgi5e.fsf@gmail.com> <86y1yfzap3.fsf@gmail.com> <86sfonjroi.fsf@gmail.com> <3d93d46d-c484-da0a-c12c-80e83eba31c9@blackwall.org> Date: Thu, 02 Jun 2022 14:08:41 +0200 Message-ID: <86mtevjmie.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Bridge] [PATCH V3 net-next 1/4] net: bridge: add fdb flag to extent locked port feature List-Id: Linux Ethernet Bridging List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Ido Schimmel , Nikolay Aleksandrov Cc: Ivan Vecera , Andrew Lunn , Florian Fainelli , Jiri Pirko , Daniel Borkmann , netdev@vger.kernel.org, Hans Schultz , bridge@lists.linux-foundation.org, linux-kernel@vger.kernel.org, Vivien Didelot , Ido Schimmel , Eric Dumazet , Paolo Abeni , linux-kselftest@vger.kernel.org, Roopa Prabhu , kuba@kernel.org, Vladimir Oltean , Shuah Khan , davem@davemloft.net > > I think Hans is testing with mv88e6xxx which dumps entries directly from > HW via ndo_fdb_dump(). See dsa_slave_port_fdb_do_dump() which sets > NTF_SELF. > > Hans, are you seeing the entry twice? Once with 'master' and once with > 'self'? > When replacing a locked entry it looks like this: # bridge fdb show dev eth6 | grep 4c 00:4c:4c:4c:4c:4c vlan 1 master br0 extern_learn offload locked # bridge fdb replace 00:4c:4c:4c:4c:4c dev eth6 vlan 1 master static ; bridge fdb show dev eth6 | grep 4c 00:4c:4c:4c:4c:4c vlan 1 self static The problem is then that the function br_fdb_find_rcu(br,eth_hdr(skb)->h_source, vid); , where the h_source and vid is the entry above, does not find the entry. My hypothesis was then that this is because of the 'self' flag that I see. I am thinking that the function dsa_slave_port_fdb_do_dump() is only for debug, and thus does not really set any flags in the bridge modules FDB, but then I don't understand why the above find function does not find the entry?