[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <D6B1A73A-BF2E-4EEF-A198-2B52857381D9@me.com>
Date: Tue, 07 Feb 2017 17:18:36 -0800
From: Denny Page <dennypage@...com>
To: Miroslav Lichvar <mlichvar@...hat.com>
Cc: netdev@...r.kernel.org, Richard Cochran <richardcochran@...il.com>,
Jiri Benc <jbenc@...hat.com>,
"Keller, Jacob E" <jacob.e.keller@...el.com>,
Willem de Bruijn <willemb@...gle.com>
Subject: Re: Extending socket timestamping API for NTP
> On Feb 07, 2017, at 06:01, Miroslav Lichvar <mlichvar@...hat.com> wrote:
>
> 1) new rx_filter for NTP
>
> Some NICs can't timestamp all received packets and are currently
> unusable for NTP with HW timestamping. The new filter would allow
> NTP support in new NICs and adding support to existing NICs with
> firmware/driver updates. The filter would apply to IPv4 and IPv6
> UDP packets received from or sent to the port number 123.
>
I think this is a good idea. Even if the hardware doesn’t support it, the filtering could be done in the kernel. Save a huge number of context switches.
> 4) allow sockets to use both SW and HW TX timestamping at the same time
>
> When using a socket which is not bound to a specific interface, it
> would be nice to get transmit SW timestamps when HW timestamps are
> missing. I suspect it's difficult to predict if a HW timestamp will
> be available. Maybe it would be acceptable to get from the error
> queue two messages per transmission if the interface supports both
> SW and HW timestamping?
>
Highly agreed. The current interface pretty much forces a socket per physical interface, which should not be necessary.
> 5) new SO_TIMESTAMPING options to get transposed RX timestamps
>
> PTP uses preamble RX timestamps, but NTP works with trailer RX
> timestamps. This means NTP implementations currently need to
> transpose HW RX timestamps. The calculation requires the link speed
> and the length of the packet at layer 2. It seems this can be
> reliably done only using raw sockets. It would be very nice if the
> kernel could tranpose the timestamps automatically.
>
> The existing SOF_TIMESTAMPING_RX_HARDWARE flag could be aliased to
> SOF_TIMESTAMPING_RX_HARDWARE_PREAMBLE and the new flag could be
> SOF_TIMESTAMPING_RX_HARDWARE_TRAILER.
>
> PTP has a similar problem with SW RX timestamps, which are closer
> to the trailer timestamps rather than preamble timestamps. A new
> SOF_TIMESTAMPING_RX_SOFTWARE_PREAMBLE flag could be added for PTP
> implementations to get transposed timestamps in order to improve
> accuracy.
>
Also highly agreed.
Denny
Powered by blists - more mailing lists