Re: [Ntp] Leap second draft
Kurt Roeckx <kurt@roeckx.be> Tue, 02 April 2019 17:04 UTC
Return-Path: <kurt@roeckx.be>
X-Original-To: ntp@ietfa.amsl.com
Delivered-To: ntp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5B7651201EF for <ntp@ietfa.amsl.com>; Tue, 2 Apr 2019 10:04:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kIKkV3lydDmk for <ntp@ietfa.amsl.com>; Tue, 2 Apr 2019 10:04:15 -0700 (PDT)
Received: from excelsior.roeckx.be (excelsior.roeckx.be [195.234.45.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3028E12022D for <ntp@ietf.org>; Tue, 2 Apr 2019 10:04:15 -0700 (PDT)
Received: from intrepid.roeckx.be (localhost [127.0.0.1]) by excelsior.roeckx.be (Postfix) with ESMTP id 86EDCA8A012A; Tue, 2 Apr 2019 17:04:12 +0000 (UTC)
Received: by intrepid.roeckx.be (Postfix, from userid 1000) id 3613A1FE0B44; Tue, 2 Apr 2019 19:04:11 +0200 (CEST)
Date: Tue, 02 Apr 2019 19:04:11 +0200
From: Kurt Roeckx <kurt@roeckx.be>
To: Martin Burnicki <martin.burnicki@meinberg.de>
Cc: Daniel Franke <dfoxfranke@gmail.com>, ntp@ietf.org
Message-ID: <20190402170411.GQ7706@roeckx.be>
References: <CAJm83bD5Ozkpg5TpkogOW6xeeNQL3ZziLO9URM7haqN8Wrp=Wg@mail.gmail.com> <CAJm83bCbVzO3NNCbjTy+O_16T7DBeA7O6018WWGu_-GyuN-8UA@mail.gmail.com> <20190401161816.GN7706@roeckx.be> <5590de79-de9e-a576-eee8-10a7df6d0ffb@meinberg.de>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <5590de79-de9e-a576-eee8-10a7df6d0ffb@meinberg.de>
User-Agent: Mutt/1.10.1 (2018-07-13)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/dzSOefPVzY2ELu5-yH0nHm0TL0U>
Subject: Re: [Ntp] Leap second draft
X-BeenThere: ntp@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <ntp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ntp>, <mailto:ntp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ntp/>
List-Post: <mailto:ntp@ietf.org>
List-Help: <mailto:ntp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ntp>, <mailto:ntp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 02 Apr 2019 17:04:26 -0000
On Tue, Apr 02, 2019 at 09:40:58AM +0200, Martin Burnicki wrote: > Kurt Roeckx wrote: > > One question I have that I can't seem to find the answer for is > > which second do you announce during the leap second in NTP. > > > > There was a leap second at 3692217600. Do you send: > > 3692217599 > > 3692217599 (leap second) > > 3692217600 > > > > Or: > > > > 3692217599 > > 3692217600 (leap second) > > 3692217600 > > > > I can see arguments for both ways, and if it's not specified > > somewhere yet, I think we need to specify it. > > NTP implementations I've seen just pick up the current system time, so > which timestamps are returned during a leap second depends on the way > the particular operating system handles the leap second, and e.g. ntpd > running on one type of operating system can behave differently than ntpd > running on a different type of operating system. > > So the discussion which way is the "better" one had to be done with the > maintainers of the OS kernel clock implementation. ;-) > > Letting an NTP daemon decide what kind of timestamp to return would > require that it > > 1.) uses the adjtimex()/ntp_adjtime() API calls to retrieve a timestamp > including some status information, and then modifies the time stamp in a > preferred way > > 2.) maintains its own clock beside the system clock so it could handle > the leap second in a different way than the kernel clock > > Solution 1.) is normally not used because adjtimex()/ntp_adjtime() take > longer to execute than a simple clock_gettime() > > Solution 2.) can cause additional problems if the daemon's internal leap > second handling differs from the leap second handling observed by > applications running on the particular system. One option would be the allow both the cases, but I still think that should get documented. But to be compliant with the current draft, you would need to know that a timestamp is within the leap second. It can be that with the current kernel APIs, this is very hard to properly do, but I don't see that as a problem of the draft. Assuming it's not possible to properly implement the bits indicating that a timestamp is within the leap second, maybe the draft should mention that in that case you should either not reply around the leap second or return that you're not synchronized. Kurt
- [Ntp] Leap second draft Daniel Franke
- Re: [Ntp] Leap second draft Daniel Franke
- Re: [Ntp] Leap second draft Tony Finch
- Re: [Ntp] Leap second draft Daniel Franke
- Re: [Ntp] Leap second draft Warner Losh
- Re: [Ntp] Leap second draft Dieter Sibold
- Re: [Ntp] Leap second draft Daniel Franke
- Re: [Ntp] Leap second draft Steve Allen
- Re: [Ntp] Leap second draft Steve Allen
- Re: [Ntp] Leap second draft Kurt Roeckx
- Re: [Ntp] Leap second draft Warner Losh
- Re: [Ntp] Leap second draft Kurt Roeckx
- Re: [Ntp] Leap second draft Kurt Roeckx
- Re: [Ntp] Leap second draft Steve Allen
- Re: [Ntp] Leap second draft Warner Losh
- Re: [Ntp] Leap second draft Daniel Franke
- Re: [Ntp] Leap second draft Daniel Franke
- Re: [Ntp] Leap second draft Warner Losh
- Re: [Ntp] Leap second draft Daniel Franke
- Re: [Ntp] Leap second draft Warner Losh
- Re: [Ntp] Leap second draft Steve Allen
- Re: [Ntp] Leap second draft Daniel Franke
- Re: [Ntp] Leap second draft Watson Ladd
- Re: [Ntp] Leap second draft Steve Allen
- Re: [Ntp] Leap second draft Kurt Roeckx
- Re: [Ntp] Leap second draft Daniel Franke
- Re: [Ntp] Leap second draft Warner Losh
- Re: [Ntp] Leap second draft Tony Finch
- Re: [Ntp] Leap second draft Tony Finch
- Re: [Ntp] Leap second draft Warner Losh
- Re: [Ntp] Leap second draft Tony Finch
- Re: [Ntp] Leap second draft Martin Burnicki
- Re: [Ntp] Leap second draft Martin Burnicki
- Re: [Ntp] Leap second draft Warner Losh
- Re: [Ntp] Leap second draft Miroslav Lichvar
- Re: [Ntp] Leap second draft Martin Burnicki
- Re: [Ntp] Leap second draft Kurt Roeckx
- Re: [Ntp] Leap second draft Watson Ladd
- Re: [Ntp] Leap second draft Warner Losh
- Re: [Ntp] Leap second draft Watson Ladd
- Re: [Ntp] Leap second draft Warner Losh
- Re: [Ntp] Leap second draft Warner Losh
- Re: [Ntp] Leap second draft Martin Burnicki
- Re: [Ntp] Leap second draft Kurt Roeckx
- Re: [Ntp] Leap second draft Martin Burnicki
- Re: [Ntp] Leap second draft Kurt Roeckx
- Re: [Ntp] Leap second draft Watson Ladd
- Re: [Ntp] Leap second draft Warner Losh
- Re: [Ntp] Leap second draft Warner Losh
- Re: [Ntp] Leap second draft Patrik Fältström
- Re: [Ntp] Leap second draft Warner Losh
- Re: [Ntp] Leap second draft Patrik Fältström
- Re: [Ntp] Leap second draft Watson Ladd
- Re: [Ntp] Leap second draft Martin Burnicki
- Re: [Ntp] Leap second draft Warner Losh
- Re: [Ntp] Leap second draft Watson Ladd
- Re: [Ntp] Leap second draft Warner Losh
- Re: [Ntp] Leap second draft Patrik Fältström
- Re: [Ntp] Leap second draft Warner Losh
- [Ntp] Antw: Re: Leap second draft Ulrich Windl
- [Ntp] Antw: Re: Leap second draft Ulrich Windl
- [Ntp] Antw: Re: Leap second draft Ulrich Windl
- [Ntp] Antw: Re: Leap second draft Ulrich Windl
- Re: [Ntp] Leap second draft Martin Burnicki
- Re: [Ntp] Antw: Re: Leap second draft Martin Burnicki
- Re: [Ntp] Leap second draft Watson Ladd
- Re: [Ntp] Leap second draft Martin Burnicki
- Re: [Ntp] Leap second draft Warner Losh