Re: [PATCH net-next v7 15/16] net: ethtool: ts: Let the active time stamping layer be selectable

From: Köry Maincent
Date: Mon Nov 20 2023 - 06:14:58 EST


On Mon, 20 Nov 2023 12:52:55 +0200
Vladimir Oltean <vladimir.oltean@xxxxxxx> wrote:

> > > So you only support PHYLIB?
> > >
> > > The semantics need to be better documented :(
> >
> > Yes as we don't really know how each MAC deal with the timestamping
> > before ndo_hwstamp_get/set. Using phylib only allows us to be sure these
> > NDO are implemented and the management of timestamping is coherent in the
> > MAC. Also It will push people to move on to these NDOs.
> >
> > Ok I will add documentation.
>
> When Jakub says "the semantics need to be better documented", I'm also
> thinking of a different direction.
>
> From what I understand, Maxime is working on representing multiple
> phylib PHYs in the UAPI:
> https://patchwork.kernel.org/project/netdevbpf/cover/20231117162323.626979-1-maxime.chevallier@xxxxxxxxxxx/

Yes I am also following his patch series.

> Does your UAPI proposal make it possible in any way to select
> timestamping in phylib PHY A rather than PHY B? Or do you think it is
> extensible to support that, somehow?

It does not support it for now.
I didn't want to base my work on his series as it could work without it for now
and I didn't want to wait to have his series accepted. It is more a future
possible support as I don't have anything to test it and I don't know if such
hardware exists right now.
I think it will be extensible to support that, my thinking was to create this
struct in net_device struct:

struct {
enum layer;
u32 id;
} ts;

With id saving the phy_index of the PHY X used when the layer PHY is selected.
This id could also be used to store the timestamp point in case of several
timestamp in a MAC.

Regards,
--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com