[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181122153343.GF30556@wantstofly.org>
Date: Thu, 22 Nov 2018 17:33:43 +0200
From: Lennert Buytenhek <buytenh@...tstofly.org>
To: Pavel Machek <pavel@....cz>
Cc: Andrew Lunn <andrew@...n.ch>, netdev@...r.kernel.org,
f.fainelli@...il.com
Subject: Re: DSA support for Marvell 88e6065 switch
On Thu, Nov 22, 2018 at 02:21:23PM +0100, Pavel Machek wrote:
> > > 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.
>
> 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.
Powered by blists - more mailing lists