[ntpwg] ntpwg Updated NTPv4 Protocol Specification/timestamp location
Brian Utterback
brian.utterback at sun.com
Fri Feb 22 18:23:13 UTC 2008
I meant the *transmit* interrupt. How do you get the timestamp
back to ntp and how does ntp relate the timestamp to the packet?
M. Warner Losh wrote:
> In message: <47BF0F5C.8060405 at sun.com>
> Brian Utterback <brian.utterback at sun.com> writes:
> : I seem to recall that there is an implementation in FreeBSD to
> : get the transmit interrupt timestamps. Is anybody here familiar
> : with how that was implemented? I talked to some Solaris interface
> : driver writers and they seemed to think that it was not practical.
>
> It all depends on your hardware and what performance hit you want to
> take with the newer, more sophisticated hardware.
>
> The way it is implemented in FreeBSD is geared more towards older,
> simpler hardware. The time of the interrupt is recorded on the theory
> that it will be more or less constant between when the packet arrives
> and when the interrupt happens. This works well on old hardware, but
> newer hardware falls down badly since interrupts are deferred,
> offloading happens, etc.
>
> Warner
>
> : STUART VENTERS wrote:
> : > Kurt:
> : >
> : > Thanks for the support. In the notes Dave published, checkout the
> : > section titled 'Errors Due to Interworking Between Software, Hardware,
> : > and Driver Schemes' and see if it addresses your test case.
> : >
> : > _http://www.eecis.udel.edu/~mills/timestamp.txt_
> : >
> : >
> : > As you can see, Dave and I are now pretty much in agreement with the
> : > analysis. Hopefully it can morph into an appendix to the NTP spec.
> : >
> : > The notes describe a variety of timestamping schemes and shows how they
> : > interoperate. The simplest scheme (called hardware) uses timestamps at
> : > the start of packet. This is the scheme the 1588 spec and hardware
> : > support. Another scheme (called software) uses tx timestamps at the
> : > start of packet and rx timestamps at end of packet. This is the scheme
> : > used by the reference NTP implementation, and I suspect also the one
> : > which interoperates best with vanilla switches and routers.
> : >
> : > My main goal in this discussion was to get some specific scheme in the
> : > spec so that as implementations get more precise, they will continue to
> : > interoperate. The notes propose a single scheme (hardware) that
> : > implementations should use for interoperability. This meets my original
> : > goal and I'm ok with this choice on the grounds that it is simple.
> : >
> : > An unexpected outcome in the discussion was that the simple choice that
> : > 1588 made was not optimal for some cases without on-path support. The
> : > software scheme, appears to sometimes offer better accuracy.
> : > Unfortunately, it's also more complex and different. I'm torn between
> : > the simple hardware scheme and a slightly weird software scheme which
> : > should work better with existing implementations and on paths without
> : > on-path support. (Note that this is not a question of what measurement
> : > means are available, because the implementation can transpose from one
> : > scheme to another.)
> : >
> : > As I said before, I can live with the choice of the hardware scheme
> : > (SOPtx, SOPrx), but am curious as to how the group feels about the
> : > software scheme (SOPtx, EOPrx).
> : >
> : > Regards,
> : >
> : > Stuart
> : >
> : >
> : > It looks like the analysis Dave published 21st,
> : >
> : > Kurt Roeckx wrote:
> : > > On Thu, Feb 07, 2008 at 05:34:08PM +0000, David L. Mills wrote:
> : > >> Stuart,
> : > >>
> : > >> No, compare your equation with mine. The view has to be from A, so the
> : > >> delay cancels.
> : > >
> : > >
> : > > I'm still not convinced. So I'll try to make an example. Let's assume
> : > > that it takes 2 second for the packet to travel from A to B and the
> : > > other way around. That is, if A sends a physical signal from low to
> : > > high, B will see that change 2 seconds later. Let's also assume that it
> : > > takes A 1 second to transmit the packet. Then let's assume that A's and
> : > > B's clock are in sync, and that A takes the timestamp at the start of
> : > > the packet, and B and the end.
> : > >
> : > > We start with A sending a packet at time 0.0. A takes the time
> : > > when the packets starts to be transmitted, so sets T1 to 0.0.
> : > >
> : > > The packet will start to arrive at B at 2.0, and stop at
> : > > 3.0. B takes the timestamp at the end of the packet
> : > > and will set T2 to 3.0.
> : > >
> : > > It takes B 1 second to process the packet. It will start to transmit
> : > > the packet at 4.0. But since it timestamps the packets after
> : > > it's completly send, it will set T3 1 second later to 5.0. B will
> : > inform
> : > > A about T3 with an other packet it will send later.
> : > >
> : > > The packet starts to arrive at A at 6.0, which is when A takes
> : > > the timestamp, getting us T4 = 6.0. The packet completly arrives at
> : > > 7.0, but that doesn't matter.
> : > >
> : > > This gives:
> : > > offset = 1/2 * [(T2-T1) + (T3-T4)] = 1/2 * [(3-0)+(5-6)] = 1.
> : > >
> : > > While we expected the result to be 0.
> : > >
> : > > Note that for the delay we don't have the problem.
> : > > delay = (T4-T1) - (T3-T2) = (6-0) - (5-3) = 4.
> : > >
> : > >
> : > > Kurt
> : >
> : >
> : > ------------------------------------------------------------------------
> : >
> : > _______________________________________________
> : > ntpwg mailing list
> : > ntpwg at lists.ntp.org
> : > https://lists.ntp.org/mailman/listinfo/ntpwg
> :
> : --
> : blu
> :
> : There are two rules in life:
> : Rule 1- Don't tell people everything you know
> : ----------------------------------------------------------------------
> : Brian Utterback - Solaris RPE, Sun Microsystems, Inc.
> : Ph:877-259-7345, Em:brian.utterback-at-ess-you-enn-dot-kom
> : _______________________________________________
> : ntpwg mailing list
> : ntpwg at lists.ntp.org
> : https://lists.ntp.org/mailman/listinfo/ntpwg
> :
> :
--
blu
There are two rules in life:
Rule 1- Don't tell people everything you know
----------------------------------------------------------------------
Brian Utterback - Solaris RPE, Sun Microsystems, Inc.
Ph:877-259-7345, Em:brian.utterback-at-ess-you-enn-dot-kom
More information about the ntpwg
mailing list