# Can the leap second be suppressed on the NTP sever?



## yiau (Oct 19, 2016)

Hi all,

I am working on a networking timing project. 
I notice that there is a leap second at the end of this year. 
I have a stratum-1 time server listen to a GPS while the GPS is working in the UTC time mode. 
A few clients in the internal network listen to this stratum-1 and generate some time serial data. 
I want to avoid the Leap second.
Is there a way to configure the stratum-1 server do not propagate the leap second or set the clients ignore the leap second notification?

Thank you very much in advance for any suggestion.


----------



## ASX (Oct 20, 2016)

Yours look like a challenging problem!



yiau said:


> I have a stratum-1 time server listen to a GPS while the GPS is working in the UTC time mode.


For clarity, GPS time is not affected from leap-seconds, but GPS systems are aware of leap-seconds related offset and send messages to the GPS receiver so that the GPS receiver can calculate the UTC time.

That said, look like your project would need a time source not affected from leap-seconds, like TAI or pure GPS time, and not UTC.



> *A few clients* in the internal network listen to this stratum-1 and generate some time serial data.


You need to clarify if only part or all of the client on the internal network, although it seems only a part of them, the difference being that part of the client will still need UTC time.



> I want to avoid the Leap second.
> Is there a way to configure the stratum-1 server do not propagate the leap second or set the clients ignore the leap second notification?



To me it seems is not possible, however I could be wrong.

But if you ask it differently: is possible to derive TAI from UTC and leap-second table ?
And the answer accordingly to this paper is yes:
https://www.eecis.udel.edu/~mills/database/papers/leapsecond.pdf
It appear that the NTP client can be configured to make it possible ... and that would be a client side solution, not server side.

ntptime(8)
# ntptime
ntp_gettime() returns code 0 (OK)
  time dbb33f18.843b0c48  Thu, Oct 20 2016 15:03:20.516, (.516526507),
  maximum error 255595 us, estimated error 19182 us, *TAI offset 36*

May be you can use in your client application something like UTC + TAI_offset = TAI ...
May be also you can evaluate to use an additional stratum-2 timeserver that will deploy TAI only to the clients who require that ... 

This link may help too:
http://www.leapsecond.com/java/gpsclock.htm


----------

