[ntp:questions] WARNING: someone's faking a leap second tonight

Jeffrey Lerman jeffrey.lerman at gmail.com
Fri Aug 3 21:04:08 UTC 2012

That page appears to be out-of-date.  The current protocol, for NTP 
version 4, is here: http://www.ietf.org/rfc/rfc5905.txt

Note that there was a change from the earlier version, which did say 
"current day".  Also, the LI ("Leap Indicator") field is only used to 
indicate presence/absence of an impending leap second.

The current doc says in part:

    The fields and associated packet variables (in parentheses) are
    interpreted as follows:

    LI Leap Indicator (leap): 2-bit integer warning of an impending leap
    second to be inserted or deleted in the last minute of the_*current
    month*_with values defined in Figure 9.

            | Value | Meaning                                |
            | 0     | no warning                             |
            | 1     | last minute of the day has 61 seconds  |
            | 2     | last minute of the day has 59 seconds  |
            | 3     | unknown (clock unsynchronized)         |

                          Figure 9: Leap Indicator

Technically, there should be no need for the 2-week buffer I suggested.  
However, it shouldn't hurt, and seems likely to add robustness.  The 
true correct solution would be to ensure that ntpd clients pay as much 
attention to LI=00 from a server as to LI != 00 (and to fix the bug 
Martin filed, in which the LI field goes to 00 in the last second BEFORE 
the leap second - oops).  Then they would be able to recover gracefully 
from a brief persistence of the LI=01 value past the leap second - 
assuming that no stratum 1 servers erroneously persisted the LI value.  
We really need to understand why that is happening - do we have version 
info from the servers that are still doing that?

Another suggestion... Should ntpd require that a stratum-1 server has a 
non-expired leap-second file, and that that file should override any 
upstream server for the LI data?


On 8/3/2012 11:48 AM, E-Mail Sent to this address will be added to the 
BlackLists wrote:
> Martin Burnicki wrote:
>>> clients to independently set LI=00 during, say the first
>>>   half of the month, and to ignore the LI value from
>>>   servers during that time.
> I think you would have to be more exact than that.
>   LI is used for more than one thing.
> <http://www.eecis.udel.edu/~mills/ntp/html/decode.html>
>    According to the doc, LI only applies to the current day?

More information about the questions mailing list