From: "Sanjuán García, Jorge" <Jorge.SanjuanGarcia@duagon.com>
To: "olteanv@gmail.com" <olteanv@gmail.com>,
"r-gunasekaran@ti.com" <r-gunasekaran@ti.com>
Cc: "s-vadapalli@ti.com" <s-vadapalli@ti.com>,
"davem@davemloft.net" <davem@davemloft.net>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"andrew@lunn.ch" <andrew@lunn.ch>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"f.fainelli@gmail.com" <f.fainelli@gmail.com>,
"kuba@kernel.org" <kuba@kernel.org>,
"edumazet@google.com" <edumazet@google.com>,
"rogerq@kernel.org" <rogerq@kernel.org>,
"pabeni@redhat.com" <pabeni@redhat.com>
Subject: Re: [PATCH net RESEND] net: ethernet: ti: am65-cpsw: Add IFF_UNICAST_FLT flag to port device
Date: Mon, 4 Mar 2024 10:27:13 +0000 [thread overview]
Message-ID: <7a39e5266fa3ac781f1eda7ee0b2526bd2f164d0.camel@duagon.com> (raw)
In-Reply-To: <20240301154957.xex75zuijptswcf3@skbuf>
On Fri, 2024-03-01 at 17:49 +0200, Vladimir Oltean wrote:
> [No suele recibir correo electrónico de olteanv@gmail.com. Descubra
> por qué esto es importante en
> https://aka.ms/LearnAboutSenderIdentification ]
>
> On Fri, Mar 01, 2024 at 04:39:50PM +0530, Ravi Gunasekaran wrote:
> > On 2/29/24 9:35 AM, Jakub Kicinski wrote:
> > > On Wed, 28 Feb 2024 11:13:23 +0000 Sanjuán García, Jorge wrote:
> > > > Since commit 8940e6b669ca ("net: dsa: avoid call to
> > > > __dev_set_promiscuity()
> > > > while rtnl_mutex isn't held") when conecting one of this
> > > > switch's port
> > > > to a DSA switch as the conduit interface, the network interface
> > > > is set to
> > > > promiscuous mode by default and cannot be set to not
> > > > promiscuous mode again
> > > > from userspace. The reason for this is that the cpsw ports net
> > > > devices
> > > > do not have the flag IFF_UNICAST_FLT set in their private
> > > > flags.
> > > >
> > > > The cpsw switch should be able to set not promiscuous mode as
> > > > otherwise
> > > > a '1' is written to bit ALE_PORT_MACONLY_CAF which makes
> > > > ethernet frames
> > > > get an additional VLAN tag when entering the port connected to
> > > > the DSA
> > > > switch. Setting the IFF_UNICAST_FLT flag to all ports allows us
> > > > to have
> > > > the conduit interface on the DSA subsystem set as not
> > > > promiscuous.
> > >
> > > It doesn't look like am65-cpsw-nuss supports unicast filtering,
> > > tho, does it? So we're lying about support to work around some
> > > CPSW weirdness (additional VLAN tag thing)?
> >
> > CPSW driver does not support unicast filtering.
>
> Then the driver can't declare IFF_UNICAST_FLT.
>
> Why does enabling promiscuous mode cause Ethernet frames to get an
> additional VLAN tag? 802.3 clause 4.2.4.1.1 Address recognition only
> says "The MAC sublayer may also provide the capability of operating
> in
> the promiscuous receive mode. In this mode of operation, the MAC
> sublayer recognizes and accepts all valid frames, regardless of their
> Destination Address field values.". Absolutely nothing about VLAN.
Hi,
Thank you all very much for the reviews. It is clear now we should not
add this IFF_UNICAST_FLT flag to this driver.
I may do some new investigations to find out exactly why this CPSW
driver is adding VLAN tags when set to promiscuous mode. The CPSW HW is
definetly adding VLAN tags whenever bit Iy_REG_Py_MACONLY of register
CPSW_Iy_ALE_PORTCTL0_y gets a "1". Maybe there is some extra
configuration needed but as far a the current am65-cpsw-nuss.c
implementation goes, am65_cpsw_slave_set_promisc() only sets that bit.
Best regards,
Jorge
next prev parent reply other threads:[~2024-03-04 10:27 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-28 11:13 Sanjuán García, Jorge
2024-02-29 4:05 ` Jakub Kicinski
2024-02-29 13:22 ` Andrew Lunn
2024-03-01 11:09 ` Ravi Gunasekaran
2024-03-01 15:49 ` Vladimir Oltean
2024-03-04 10:27 ` Sanjuán García, Jorge [this message]
2024-03-06 13:48 ` Roger Quadros
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7a39e5266fa3ac781f1eda7ee0b2526bd2f164d0.camel@duagon.com \
--to=jorge.sanjuangarcia@duagon.com \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=r-gunasekaran@ti.com \
--cc=rogerq@kernel.org \
--cc=s-vadapalli@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®