Brandywine Communications uses the Semtech API, with our advance warning of leap second from GPS, to advise PTP of an impending leap second. There are leap indicator flags in the announce packets.
PTP is different from NTP in the way it handles this.
From the 2008 spec:
7.2.2 Epoch
The epoch is the origin of the timescale of a domain.
The PTP epoch is 1 January 1970 00:00:00 TAI, which is 31 December 1969 23:59:51.999918 UTC.
NOTE 1: The PTP epoch coincides with the epoch of the common Portable Operating System Interface (POSIX)
algorithms for converting elapsed seconds since the epoch to the ISO 8601:2004 printed representation of time of day;
see ISO/IEC 9945:2003 [B16] and ISO 8601:2004 [B17].
NOTE 2: See Annex B for information on converting between common timescales.
7.2.3 UTC Offset
When the epoch is PTP, it is possible to calculate UTC time using the value of timePropertiesDS.
currentUtcOffset. The value of timePropertiesDS.currentUtcOffset shall be as follows:
timePropertiesDS.currentUtcOffset = TAI \u9472 - UTC.
NOTE: As of 0 hours 1 January 2006 UTC, UTC was behind TAI by 33 seconds. At that moment the PTP-defined
value of currentUtcOffset became +33 seconds (Service de la Rotation Terrestre, Observatoire de Paris [B23]).
7.2.4 Measurement of time within a domain
Within a domain, time shall be measured as elapsed time since the epoch