Re: [PATCH 5/6] staging: fsl-dpaa2/ethsw: Add README

From: Andrew Lunn
Date: Tue Oct 03 2017 - 08:38:50 EST


On Tue, Oct 03, 2017 at 10:07:41AM +0000, Razvan Stefanescu wrote:
> > -----Original Message-----
> > From: linux-arm-kernel [mailto:linux-arm-kernel-bounces@xxxxxxxxxxxxxxxxxxx]
> > On Behalf Of Andrew Lunn
> > Sent: Tuesday, September 19, 2017 3:18 PM
> > To: Razvan Stefanescu <razvan.stefanescu@xxxxxxx>
> > Cc: devel@xxxxxxxxxxxxxxxxxxxx; Ruxandra Ioana Radulescu
> > <ruxandra.radulescu@xxxxxxx>; arnd@xxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx;
> > Alexandru Marginean <alexandru.marginean@xxxxxxx>; linux-
> > kernel@xxxxxxxxxxxxxxx; agraf@xxxxxxx; stuyoder@xxxxxxxxx; Bogdan
> > Purcareata <bogdan.purcareata@xxxxxxx>; linux-arm-
> > kernel@xxxxxxxxxxxxxxxxxxx; Laurentiu Tudor <laurentiu.tudor@xxxxxxx>
> > Subject: Re: [PATCH 5/6] staging: fsl-dpaa2/ethsw: Add README
> >
> > On Tue, Sep 19, 2017 at 12:01:37PM +0300, Razvan Stefanescu wrote:
> > > +Driver uses the switch device driver model and exposes each switch port as
> > > +a network interface, which can be included in a bridge. Traffic switched
> > > +between ports is offloaded into the hardware. Exposed network interfaces
> > > +are not used for I/O, they are used just for configuration. This
> > > +limitation is going to be addressed in the future.
> >
> > Hi Razvan
> >
> > Could you briefly describe how Ethernet frames get from the CPU to the
> > switch. This is what decided if you should write a plain switchdev
> > driver, or a DSA driver.
> >
> > Andrew
> >
> Hello Andrew,
>
> CPU frame handling will be added in a later. Each netdevice associated
> to a switch port will have I/O capabilities like dpaa2-ethernet devices.
> The dpaa2-ethsw will use ACLs to redirect specific types of frames
> (i.e BPDUs) to CPU.

Hi Razvan

I looked at the architecture documentation after i posted this
email. It looks like each switch port will get its own DMA queues, etc
on the host. It is not sharing one host interface to get packets to
the switch, which is what DSA does. So a pure switchdev driver is the
correct solution here.

Andrew