Vladimir Oltean <olte...@gmail.com> writes: > The concept of timestamping DSA switches / Ethernet PHYs is becoming > more and more popular, however the Linux kernel timestamping code has > evolved quite organically and there's layers upon layers of new and old > code that need to work together for things to behave as expected. > > Add this chapter to explain what the overall goals are.
Nice job! That'd definitely save me a day or two if it were there a month ago. Please see one minor doubt below. > > Loosely based upon this email discussion plus some more info: > https://lkml.org/lkml/2020/7/6/481 > > Signed-off-by: Vladimir Oltean <olte...@gmail.com> > --- > Documentation/networking/timestamping.rst | 149 ++++++++++++++++++++++ > 1 file changed, 149 insertions(+) > > diff --git a/Documentation/networking/timestamping.rst > b/Documentation/networking/timestamping.rst > index 1adead6a4527..14df58c24e8c 100644 > --- a/Documentation/networking/timestamping.rst > +++ b/Documentation/networking/timestamping.rst > @@ -589,3 +589,152 @@ Time stamps for outgoing packets are to be generated as > follows: > this would occur at a later time in the processing pipeline than other > software time stamping and therefore could lead to unexpected deltas > between time stamps. > + > +3.2 Special considerations for stacked PTP Hardware Clocks > +---------------------------------------------------------- > + > +There are situations when there may be more than one PHC (PTP Hardware Clock) > +in the data path of a packet. The kernel has no explicit mechanism to allow > the > +user to select which PHC to use for timestamping Ethernet frames. Instead, > the > +assumption is that the outermost PHC is always the most preferable, and that > +kernel drivers collaborate towards achieving that goal. Currently there are 3 > +cases of stacked PHCs, detailed below: > + > +- DSA (Distributed Switch Architecture) switches. These are Ethernet switches > + which have one of their ports connected to an (otherwise completely > unaware) > + host Ethernet interface, and perform the role of a port multiplier with > + optional forwarding acceleration features. Each DSA switch port is visible > + to the user as a standalone (virtual) network interface, however network > I/O > + is performed under the hood indirectly through the host interface. Here, "however" somehow makes me feel uneasy. "even though" maybe? [...] Thanks, -- Sergey