[ntp:questions] How is the NTP build tested?

Harlan Stenn stenn at ntp.org
Mon Jan 13 21:23:10 UTC 2014

romain.pontida at gmail.com writes:
> Hello,
> I'm sorry if this has already been answered before, but how do I prove
> that the release of NTP included with your Linux distribution (using
> ntpd) is compliant to the NTP specification as defined in the RFC?

Interesting question.

The short answer is that the ntp.org release has been the "reference
implementation" for NTP since the beginning, but the IETF doesn't do
reference implementations.

> I have found a statement in v4.1 release notes (
> http://doc.ntp.org/4.1.0/biblio.htm ) that says "this version is fully
> compliant with the previous NTP Ve rsion 3 specification and
> implementation defined in [ref to RFC]". I'm wondering whether there's
> any automated test that allows the development team to ensure this
> statement remains true with every new release.

There is no current automated test framework to do this.  I'd love to
have such a beast, either contributed to the project or find folks who
want this enough to fund the effort.

> I guess any implementation could be tested for synchronisation against
> the reference implementation, but how do you prove that the reference
> implementation is correct?

What happens (and some view this as a bug while others view it as a
feature) is that the development version of the reference implementation
gets to a point where folks say "Time for a new standard", and then
folks write the Standard based on the implementation in the code.  Then
more folks very carefully study both the code and the proposed standard
and reconcile any differences.  At some point the Standard goes as far
as it can (the V3 was only a *draft* standard) and we keep working on
the codebase.  Eventually the codebase *will* do some things differently
than the standard, and we do expect that these differences will become
part of the next version of the NTP Standard.


More information about the questions mailing list