[PATCH v5 2/6] staging: fsl-dpaa2/ethsw: Add Freescale DPAA2 Ethernet Switch driver

Razvan Stefanescu razvan.stefanescu at nxp.com
Tue Mar 13 15:20:38 UTC 2018



> -----Original Message-----
> From: Andrew Lunn [mailto:andrew at lunn.ch]
> Sent: Tuesday, March 13, 2018 4:23 PM
> To: Razvan Stefanescu <razvan.stefanescu at nxp.com>
> Cc: gregkh at linuxfoundation.org; devel at driverdev.osuosl.org; linux-
> kernel at vger.kernel.org; netdev at vger.kernel.org; Alexander Graf
> <agraf at suse.de>; arnd at arndb.de; Alexandru Marginean
> <alexandru.marginean at nxp.com>; Ruxandra Ioana Ciocoi Radulescu
> <ruxandra.radulescu at nxp.com>; Ioana Ciornei <ioana.ciornei at nxp.com>;
> Laurentiu Tudor <laurentiu.tudor at nxp.com>; stuyoder at gmail.com
> Subject: Re: [PATCH v5 2/6] staging: fsl-dpaa2/ethsw: Add Freescale DPAA2
> Ethernet Switch driver
> 
> > +/* For the moment, only flood setting needs to be updated */
> > +static int port_bridge_join(struct net_device *netdev,
> > +			    struct net_device *upper_dev)
> > +{
> > +	struct ethsw_port_priv *port_priv = netdev_priv(netdev);
> > +	struct ethsw_core *ethsw = port_priv->ethsw_data;
> > +	int i, err;
> > +
> > +	for (i = 0; i < ethsw->sw_attr.num_ifs; i++)
> > +		if (ethsw->ports[i]->bridge_dev &&
> > +		    (ethsw->ports[i]->bridge_dev != upper_dev)) {
> > +			netdev_err(netdev,
> > +				   "Another switch port is connected to %s\n",
> > +				   ethsw->ports[i]->bridge_dev->name);
> > +			return -EINVAL;
> > +		}
> > +
> > +	/* Enable flooding */
> > +	err = ethsw_port_set_flood(port_priv, 1);
> > +	if (!err)
> > +		port_priv->bridge_dev = upper_dev;
> > +
> > +	return err;
> > +}
> 
> Hi Razvan
> 
> That is not what i was meaning.
> 
> brctl addbr br0
> brctl addbr br1
> brctl addif br0 lan0
> brctl addif br0 lan1
> brctl addif br1 lan2
> brctl addif br1 lan3
> 
> Is there somewhere in the code which sets the scope for the flooding?
> lan0 can flood to lan1, but it should not flood to lan2 or lan3, since
> they are in a different bridge. I was expecting that
> ethsw_port_set_flood() takes upper_dev, in order to configure which
> ports it should flood to.
> 
>       Andrew

Hello Andrew,

The current driver implementation uses only a single FDB for the switch,
so  it is not possible configure multiple flooding domains to accommodate
ports partitioning.
 
The configuration that you mentioned will be possible when support for
multiple FDBs in the switch is added. Ports added to the same bridge
will have their flooding domain limited to a specific FDB.

Switch ports partitioning is a feature on the roadmap. I will add this
information to the TODO list.

Best regards,
Razvan Stefanescu


More information about the devel mailing list