-----Original Message----- From: Jakub Kicinski kuba@kernel.org Sent: Tuesday, August 31, 2021 5:32 PM To: Machnikowski, Maciej maciej.machnikowski@intel.com Subject: Re: [RFC v2 net-next 1/2] rtnetlink: Add new RTM_GETSYNCESTATE message to get SyncE status
On Tue, 31 Aug 2021 15:19:36 +0000 Machnikowski, Maciej wrote:
It's a reasonable SW design strategy to start simple. Unfortunately, it doesn't apply to stable uAPI design. You're adding a RTNL op, which will have to be supported for ever. If we add anything "later" it will be a strict addition, and will have to be backward compatible. Which I'm not sure how to do when the object we'd operate on would be completely different (clock vs netdev).
I agree - the point I'm trying to make here is that the existence of the PTP-specific interface will not invalidate the need of having SyncE-specific one as well. Even if we report lock-states for the clock we will still need to report lock-states for devices that don't use PTP clocks, but support SyncE. (that's also a reason why RTNL is still required).
The RTNL interface will also address devices that only need the frequency syntonization (especially in Radio Access Networks).
As I said I can write the boilerplate code for you if you prefer, the code implementing the command and the driver interface will be almost identical.
I think it's a great idea to start that in parallel to this patch. Then move the common structures to the generic layer and use them in both SyncE-specific RTNL implementation and PTP-specific part that will be added. This won't affect SyncE specific APIs. The "worst" that can happen is that the driver will put the same info for PTP part and SyncE part if that's the design someone follows.
I don't understand why we need the SyncE RTNL if we have clock API for controlling the freq source. Are you saying that there are implementations out there which use SyncE to recover Rx clock and use it for Tx but the PTP ticker is in a different clock domain?
Exactly! You can also have multiple PTP timers which may use different clock ticks to support multiple time domains.
The PTP ticker can also be completely absent if all you need is the frequency reference. There are many radio devices that expect 10 MHz reference only.