Subject: Re: DSA support for Marvell 88e6065 switch

From: Pavel Machek <[email-masked]>
Date: Thu, 22 Nov 2018 21:27:24 +0100

Hi!

> > > > If I wanted it to work, what do I need to do? AFAICT phy autoprobing
> > > > should just attach it as soon as it is compiled in?
> > > 
> > > Nope. It is a switch, not a PHY. Switches are never auto-probed
> > > because they are not guaranteed to have ID registers.
> > > 
> > > You need to use the legacy device tree binding. Look in
> > > Documentation/devicetree/bindings/net/dsa/dsa.txt, section Deprecated
> > > Binding. You can get more examples if you checkout old kernels. Or
> > > kirkwood-rd88f6281.dtsi, the dsa { } node which is disabled.
> > 
> > Thanks; I ported code from mv88e66xx in the meantime, and switch
> > appears to be detected.
> > 
> > But I'm running into problems with tagging code, and I guess I'd like
> > some help understanding.
> > 
> > tag_trailer: allocates new skb, then copies data around.
> > 
> > tag_qca: does dev->stats.tx_packets++, and reuses existing skb.
> > 
> > tag_brcm: reuses existing skb.

Any idea why tag trailer allocates new skb, and what is going on with
dev->stats.tx_packets++?

> > Is qca wrong in adjusting the statistics? Why does trailer allocate
> > new skb?
> > 
> > 6065 seems to use 2-byte header between "SFD" and "Destination
> > address" in the ethernet frame. That's ... strange place to put
> > header, as addresses are now shifted. I need to put ethernet in
> > promisc mode (by running tcpdump) to get data moving.. and can not
> > figure out what to do in tag_...
> 
> Does this switch chip not also support trailer mode?
> 
> There's basically four tagging modes for Marvell switch chips: header
> mode (the one you described), trailer mode (tag_trailer.c), DSA and
> ethertype DSA.  The switch chips I worked on that didn't support
> (ethertype) DSA tagging did support both header and trailer modes,
> and I chose to run them in trailer mode for the reasons you describe
> above, but if your chip doesn't support trailer mode, then yes,
> you'll have to add support for header mode and put the underlying
> interface into promiscuous mode and such.

It seems that 6060 supports both header (probably, parts of docs are
redacted) and trailer mode... but I'm working with 6065. That does not
support trailer mode... or at least word "trailer" does not appear
anywhere in the documentation.

What chip were you working with? I may want to take a look on their
wording.

6065 indeed has some kind of "egress tagging mode" (with four
options), but I have trouble understanding what it really does.

Thanks,
									Pavel

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html