On Tue, Jul 07, 2020 at 10:04:37AM +0300, Vladimir Oltean wrote: > > > We do it like this: > > > - DSA: If there is a timestamping switch stacked on top of a > > > timestamping Ethernet MAC, the switch hijacks the .ndo_do_ioctl of the > > > host port, and you are supposed to use the PTP clock of the switch, > > > through the .ndo_do_ioctl of its own (virtual) net devices. This > > > approach works without changing any code in each individual Ethernet > > > MAC driver. > > > - PHY: The Ethernet MAC driver needs to be kind enough to check whether > > > the PHY supports hw timestamping, and pass this ioctl to that PHY > > > while making sure it doesn't do anything stupid in the meanwhile, like > > > also acting upon that timestamping request itself. > > > > > > Both are finicky in their own ways. There is no real way for the user to > > > select which PHC they want to use. The assumption is that you'd always > > > want to use the outermost one, and that things in the kernel side always > > > collaborate towards that end.
Vladimir, your explanations in this thread are valuable. Please consider converting them into a patch to expand Documentation/networking/timestamping.rst Thanks, Richard