Re: [PATCH net-next 3/5] net: dsa: mv88e6xxx: Let taggers specify a can_timestamp function

From: Vladimir Oltean
Date: Thu May 30 2019 - 03:46:31 EST


On Thu, 30 May 2019 at 06:51, Richard Cochran <richardcochran@xxxxxxxxx> wrote:
>
> On Wed, May 29, 2019 at 11:33:31PM +0300, Vladimir Oltean wrote:
> > I would like to avoid keeping meta frames in their own RX queue,
> > because then I'm complicating (or rather put, making impossible) the
> > association between a meta frame and the frame it holds a timestamp
> > of.
>
> We have an example of how a driver can match meta time stamp packets
> with received packets. See drivers/net/phy/dp83640.c to see how it
> can be done completely within the driver.
>
> Thanks,
> Richard

The meta frames generated by the SJA1105 do not contain any seqid.
They contain:
* A globally programmable DMAC
* A globally programmable SMAC
* The 0x8 EtherType
* A partial (24-bit or 32-bit) RX timestamp
* Two bytes from the initial (pre follow-up) frame's DMAC, before the
switch mangled those with the source port and switch id. The driver is
supposed to patch these bytes from the follow-up back into the initial
frame before passing them up the stack.
* The source port that generated the meta frame
* The switch id that generated the meta frame

Regards,
-Vladimir