Thread (21 messages) 21 messages, 4 authors, 2021-09-01

RE: [RFC v2 net-next 1/2] rtnetlink: Add new RTM_GETSYNCESTATE message to get SyncE status

flat view

From: Machnikowski, Maciej <hidden>
Date: 2021-08-31 14:07:38
Also in: intel-wired-lan, linux-kselftest

-----Original Message-----
From: Jakub Kicinski <kuba@kernel.org>
Sent: Tuesday, August 31, 2021 3:33 PM
Subject: Re: [RFC v2 net-next 1/2] rtnetlink: Add new RTM_GETSYNCESTATE
message to get SyncE status

On Tue, 31 Aug 2021 10:20:18 +0000 Machnikowski, Maciej wrote:
quoted
quoted
Hmm, IDK if this really belongs in RTNL. The OCP time card that
Jonathan works on also wants to report signal lock, and it locks to
GNSS. It doesn't have any networking functionality whatsoever.

Can we add a genetlink family for clock info/configuration? From
what I understood discussing this with Jonathan it sounded like most
clocks today have a vendor-specific character device for
configuration and reading status.

I'm happy to write the plumbing if this seems like an okay idea but
too much work for anyone to commit.
I agree that this also is useful for Time card, yet it's also useful here.
PTP subsystem should implement a similar logic to this one for
DPLL-driven timers which can lock its frequency to external sources.
Why would we have two APIs for doing the same thing? IIUC Richard does
not want this in the PTP ioctls which is fair, but we need to cater to devices
which do not have netdevs.
From technical point of view - it can be explained by the fact that the DPLL
driving the SyncE logic can be separate from the one driving PTP.  Also
SyncE is frequency-only oriented and doesn't care about phase and
Time of Day that PTP also needs. The GNSS lock on the PTP side will be
multi-layered, as the full lock would mean that our PTP clock is not only
syntonized, but also has its time and phase set correctly.

A PTP can reuse the "physical" part of this interface later on, but it also needs
to solve more SW-specific challenges, like reporting the PTP lock on a SW level.

I agree that having such API for PTP subsystem will be very useful,
but let's address SyncE in netdev first and build the PTP netlink on top of what
we learn here. We can always move the structures defined here to the layer
above without affecting any APIs.
quoted
The reasoning behind putting it here is to enable returning the lock
to the GNSS receiver embedded on the NIC as a source for the SyncE
frequency. It helps distinguishing the embedded GNSS from the external
sources. As a result - the upper layer can report GNSS lock based only
on this message without the need to put the embedded  GNSS receiver in
the config file. On the other hand - if sync to External source is
reported such SW would need to read the source of external sync from
the config file.

And the list is expandable - if we need to define more embedded sync
source types we can always add more to it.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help