-----Original Message----- From: Jakub Kicinski kuba@kernel.org Sent: Tuesday, August 31, 2021 1:29 AM To: Richard Cochran richardcochran@gmail.com Cc: Machnikowski, Maciej maciej.machnikowski@intel.com; netdev@vger.kernel.org; intel-wired-lan@lists.osuosl.org; abyagowi@fb.com; Nguyen, Anthony L anthony.l.nguyen@intel.com; davem@davemloft.net; linux-kselftest@vger.kernel.org; bsd@fb.com Subject: Re: [RFC v2 net-next 1/2] rtnetlink: Add new RTM_GETSYNCESTATE message to get SyncE status
On Mon, 30 Aug 2021 13:57:58 -0700 Richard Cochran wrote:
Please take a look at the 10.2 Operation modes of the G.8264 and at the
Figure A.1
which depicts the EEC. This interface is to report the status of the EEC.
Well, I read it, and it is still fairly high level with no mention at all of "DPLL". I hope that the new RTNL states will cover other possible EEC implementations, too.
The "Reference source selection mechanism" is also quite vague. Your patch is more specific:
+enum if_eec_src {
IF_EEC_SRC_INVALID = 0,
IF_EEC_SRC_UNKNOWN,
IF_EEC_SRC_SYNCE,
IF_EEC_SRC_GNSS,
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.
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.
Regards Maciek