All of lore.kernel.org
 help / color / mirror / Atom feed
From: Horatiu Vultur <horatiu.vultur@microchip.com>
To: Vladimir Oltean <vladimir.oltean@nxp.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"kuba@kernel.org" <kuba@kernel.org>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"UNGLinuxDriver@microchip.com" <UNGLinuxDriver@microchip.com>,
	"linux@armlinux.org.uk" <linux@armlinux.org.uk>,
	"f.fainelli@gmail.com" <f.fainelli@gmail.com>,
	"vivien.didelot@gmail.com" <vivien.didelot@gmail.com>,
	"andrew@lunn.ch" <andrew@lunn.ch>
Subject: Re: [PATCH net-next v3 6/6] net: lan966x: Add switchdev support
Date: Mon, 13 Dec 2021 14:37:16 +0100	[thread overview]
Message-ID: <20211213133716.sfcgl4zrmynwagbr@soft-dev3-1.localhost> (raw)
In-Reply-To: <20211213114603.jdvv5htw22vd3azj@skbuf>

The 12/13/2021 11:46, Vladimir Oltean wrote:
> 
> On Thu, Dec 09, 2021 at 05:43:11PM +0100, Horatiu Vultur wrote:
> > > My documentation of CPU_SRC_COPY_ENA says:
> > >
> > > If set, all frames received on this port are
> > > copied to the CPU extraction queue given by
> > > CPUQ_CFG.CPUQ_SRC_COPY.
> > >
> > > I think it was established a while ago that this isn't what promiscuous
> > > mode is about? Instead it is about accepting packets on a port
> > > regardless of whether the MAC DA is in their RX filter or not.
> >
> > Yes, I am aware that this change interprets the things differently and I
> > am totally OK to drop this promisc if it is needed.
> 
> I think we just need to agree on the observable behavior. Promiscuous
> means for an interface to receive packets with unknown destination, and
> while in standalone mode you do support that, in bridge mode you're a
> bit on the edge: the port accepts them but will deliver them anywhere
> except to the CPU. I suppose you could try to make an argument that you
> know better than the bridge, and as long as the use cases for that are
> restricted enough, maybe it could work for most scenarios. I don't know.

I think this requires some proper explanations of the intended
behaviour for both the standalone and bridge mode. I will drop this
promisc for now, as other drivers are doing it and at a later point
send some patch series with all the explanations.

> 
> > > Hence the oddity of your change. I understand what it intends to do:
> > > if this is a standalone port you support IFF_UNICAST_FLT, so you drop
> > > frames with unknown MAC DA. But if IFF_PROMISC is set, then why do you
> > > copy all frames to the CPU? Why don't you just put the CPU in the
> > > unknown flooding mask?
> >
> > Because I don't want the CPU to be in the unknown flooding mask. I want
> > to send frames to the CPU only if it is required.
> 
> What is the strategy through which this driver accepts things like
> pinging the bridge device over IPv6, with the Neighbor Discovery
> protocol having the ICMP6 neighbor solicitation messages delivered to
> (according to my knowledge) an unregistered IPv6 multicast address?
> Whose responsibility is it to notify the driver of that address, and
> does the driver copy those packets to the CPU in the right VLAN?

I think in that case the CPU should be part of the multicast flooding
mask. I will need to look more on this because I don't know much about
the IPv6.

> 
> > > How do you handle migration of an FDB entry pointing towards the CPU,
> > > towards one pointing towards a port?
> >
> > Shouldn't I get 2 calls that the entry is removed from CPU and then
> > added to a port?
> 
> Ok.

-- 
/Horatiu

      reply	other threads:[~2021-12-13 13:35 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-09  9:46 [PATCH net-next v3 0/6] net: lan966x: Add switchdev and vlan support Horatiu Vultur
2021-12-09  9:46 ` [PATCH net-next v3 1/6] net: lan966x: Add registers that are used for switch and vlan functionality Horatiu Vultur
2021-12-09  9:46 ` [PATCH net-next v3 2/6] dt-bindings: net: lan966x: Extend with the analyzer interrupt Horatiu Vultur
2021-12-09 10:58   ` Vladimir Oltean
2021-12-09 15:42     ` Horatiu Vultur
2021-12-09 20:23       ` Vladimir Oltean
2021-12-09  9:46 ` [PATCH net-next v3 3/6] net: lan966x: add support for interrupts from analyzer Horatiu Vultur
2021-12-09 11:47   ` Vladimir Oltean
2021-12-09 15:38     ` Horatiu Vultur
2021-12-09  9:46 ` [PATCH net-next v3 4/6] net: lan966x: More MAC table functionality Horatiu Vultur
2021-12-09  9:46 ` [PATCH net-next v3 5/6] net: lan966x: Add vlan support Horatiu Vultur
2021-12-09 13:59   ` Vladimir Oltean
2021-12-09 15:47     ` Horatiu Vultur
2021-12-09  9:46 ` [PATCH net-next v3 6/6] net: lan966x: Add switchdev support Horatiu Vultur
2021-12-09 13:36   ` Vladimir Oltean
2021-12-09 16:43     ` Horatiu Vultur
2021-12-13 10:25       ` Horatiu Vultur
2021-12-13 13:43         ` Vladimir Oltean
2021-12-13 14:26           ` Horatiu Vultur
2021-12-13 14:29             ` Vladimir Oltean
2021-12-13 15:28               ` Horatiu Vultur
2021-12-13 16:25                 ` Vladimir Oltean
2021-12-13 21:24                   ` Horatiu Vultur
2021-12-14  0:01                     ` Vladimir Oltean
2021-12-14 14:31                       ` Horatiu Vultur
2021-12-15  9:27                         ` Vladimir Oltean
2021-12-13 11:46       ` Vladimir Oltean
2021-12-13 13:37         ` Horatiu Vultur [this message]

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=20211213133716.sfcgl4zrmynwagbr@soft-dev3-1.localhost \
    --to=horatiu.vultur@microchip.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=vivien.didelot@gmail.com \
    --cc=vladimir.oltean@nxp.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.