On Wed, Nov 25, 2020 at 10:34:44AM -0800, Richard Cochran wrote:
> On Wed, Nov 25, 2020 at 08:36:59AM +0100, Volodymyr Bendiuga wrote:
> > Hence, our major concern still remains: is there something we have missed? 
> > Can TC operate in 1-step mode out-of-the-box? Is there anyone out there 
> > running 1-step TC?
>
> linuxptp implements 2-step TC only.
>
> In general, 1-step TC is not possible because of the way that the
> available hardware works.

So there would be two types of one-step TC that I see:
1. devices that just support one-step timestamping (i.e. 2 or more NICs
   that share a common PHC - for example dpaa2 from my previous email).
   I don't necessarily see a huge problem for these. Just like we support
   one-step peer delay for these, we might attempt to update the
   residence time for Sync too.
2. devices with one-step TC in hardware (switches). These would need to
   skip tc_fwd_sync() altogether, since they are capable of forwarding
   the Sync message autonomously between their front-panel ports.
   It is an open question what should ptp4l attempt to do with these.
   Some complications that I can think of:
   - a switch that has 2 interfaces under a bridge will forward Sync
     messages autonomously, whereas a switch that has the interfaces
     unbridged won't do that. Does ptp4l need to be aware of that bridge?
   - if we allow the switch to forward the one-step Sync messages
     autonomously, then we need a kernel interface to pass the peer
     delay calculated by ptp4l, for each port, back into the hardware,
     so that the switch can use that for the correctionField updates.
   - the Sync messages might still be forwarded to the CPU for various
     purposes, but in general, if bridged, we must assume that ptp4l sees
     merely a copy of that Sync message, and not the only one. So we
     might use these Sync messages for syntonization, but definitely not
     forward them. And it should definitely not generate Sync messages
     of its own, on PS_MASTER ports.
   - alternatively, we might require the driver to add an ACL for PTP
     traffic, and then it all boils down to type 1 of devices. However,
     this might not always be supported, so we might just be kicking the
     can down the road.

The spectrum of options is indeed large. Is there something in
particular that you would prefer to see?


_______________________________________________
Linuxptp-users mailing list
Linuxptp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-users

Reply via email to