On timekeeping:

On 11/22/18 07:01, Sara Dickinson wrote:
Section 7.5.1

Does "earliest-time" include leap seconds?

Thanks for noticing this…after digging into it…

The description specifies the number of seconds to be the
number of seconds since the POSIX epoch ("time_t"). POSIX requires that
leap seconds be omitted from reported time, and all days are defined as
having 86,400 seconds. This means that a POSIX timestamp can be
ambiguous and refer to either of the last 2 seconds of a day containing
a leap second (who knew time could stand still in POSIX world - aargh?!)

However, libpcap (for example) can only provide POSIX timestamps for
packets as far as we can see…

Do you think we should just document this as a limitation or do you have
another option in mind?

I am currently going through a similar exercise in another context, and the best current text there explicitly characterizes the non-obvious day-based accounting of POSIX time. In this context, it would look something like

   A time value that is a multiple of 86,400 (i.e., is equal to 86,400
   × /d/ for some integer /d/) represents the instant at the start of
   the UTC day that follows the 1970-01-01T00:00Z epoch by /d/ whole
   UTC days. Every other finite time value /t/ is defined relative to
   the greatest preceding time value /s/ that is such a multiple, and
   represents the instant that occurs within the same UTC day as /s/
   but follows it by /t/ − /s/ seconds.

   Time values do not account for UTC leap seconds—there are no time
   values representing instants within positive leap seconds, but there
   are time values representing instants removed from the UTC timeline
   by negative leap seconds. However, the definition of time values
   nonetheless yields piecewise alignment with UTC, discontinuities
   only at leap second boundaries, and zero difference outside of leap
   seconds.

However, there may be C-DNS purposes that cannot tolerate such discontinuities, and they would presumably want to use a continuous monotonic timescale with a fixed offset from TAI (as is the case for e.g. GPS time). It would be nice to have a field in StorageParameters defining the time scale and therefore proper interpretation of Timestamps, defaulting to UTC-approximating POSIX but also accommodating unadjusted seconds counting.

_______________________________________________
DNSOP mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to