netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Murali Karicheri <m-karicheri2@ti.com>
To: Joakim Tjernlund <Joakim.Tjernlund@infinera.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	Roger Quadros <rogerq@ti.com>,
	Grygorii Strashko <grygorii.strashko@ti.com>
Subject: Re: DSA vs. SWTICHDEV ?
Date: Thu, 1 Dec 2016 11:50:12 -0500	[thread overview]
Message-ID: <584054C4.1010809@ti.com> (raw)
In-Reply-To: <1480495831.3563.135.camel@infinera.com>

On 11/30/2016 03:50 AM, Joakim Tjernlund wrote:
> I am trying to wrap my head around these two "devices" and have a hard time telling them apart.
> We are looking att adding a faily large switch(over PCIe) to our board and from what I can tell
> switchdev is the new way to do it but DSA is still there. Is it possible to just list
> how they differ?
> 
> What can switchdev do that DSA cannot?
> 
> What can DSA do that switchdev cannot?
> 
> 
> Can one enable switchdev and dsa for the same switch device?
> 
>  Jocke 
> 

DSA/Switchdev experts,

Nice to see this discussion as I am trying to evaluat what model
works best for our hardware. From my evaluation so far, DSA can be
used even though there is no tag protocol used between the Host and
Switch. In our hardware, the Host and Switch are part of the SoC.
The Host interface is a shared memory with queues implemented at
hardware. The Phy is attached to the mii ports externally on the board.
Also this hardware is programmable through firmware. More details 
can be seen at http://processors.wiki.ti.com/index.php/PRU-ICSS
PRU can run a firmware to configure the hardware in one of the following:-

1. EMAC mode where it appears as two Ethernet ports
2. Switch mode where it implements a simple Ethernet switch. Currently
   it doesn't have address learning capability, but in future it
   can.
3. Switch with HSR/PRP offload where it provides HSR/PRP protocol
   support and cut through switch.

So a device need to function in one of the modes. A a regular Ethernet
driver that provides two network devices, one per port, and switchdev
for each physical port (in switch mode) will look ideal in this case.
This will allow attaching the associated interfaces to a bridge (where
a L2 offload is possible in the future). This also helps to attach the
interfaces to an HSR device at the top layer like bridge to support
HSR/PRP protocol with offload possible to the PRU Switch.

Using a DSA for this appears to be adding more complexity to the driver
model and may not be ideal. What do you think? 

-- 
Murali Karicheri
Linux Kernel, Keystone

  parent reply	other threads:[~2016-12-01 16:50 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-30  8:50 DSA vs. SWTICHDEV ? Joakim Tjernlund
2016-11-30 13:52 ` Andrew Lunn
2016-11-30 14:30   ` Joakim Tjernlund
2016-11-30 15:25     ` Andrew Lunn
2016-11-30 16:35       ` Joakim Tjernlund
2016-11-30 16:55         ` Andrew Lunn
2016-11-30 17:44           ` Joakim Tjernlund
2016-11-30 18:09             ` Andrew Lunn
2016-11-30 20:43               ` Jiri Pirko
2016-11-30 18:10             ` Florian Fainelli
2016-11-30 18:44               ` Joakim Tjernlund
2016-11-30 19:39                 ` Florian Fainelli
2016-12-01 16:50 ` Murali Karicheri [this message]
2016-12-01 17:31   ` Andrew Lunn
2016-12-01 21:38     ` Murali Karicheri
2016-12-02 15:38       ` Andrew Lunn

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=584054C4.1010809@ti.com \
    --to=m-karicheri2@ti.com \
    --cc=Joakim.Tjernlund@infinera.com \
    --cc=grygorii.strashko@ti.com \
    --cc=netdev@vger.kernel.org \
    --cc=rogerq@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;
as well as URLs for NNTP newsgroup(s).