mirror of
https://github.com/vyos/vyos-documentation.git
synced 2025-10-26 08:41:46 +01:00
T6630: docs for ntp: support hardware timestamp and interleave
This commit is contained in:
parent
3b82171f2d
commit
4b68bf3239
@ -50,7 +50,7 @@ Configuration
|
|||||||
* ``time2.vyos.net``
|
* ``time2.vyos.net``
|
||||||
* ``time3.vyos.net``
|
* ``time3.vyos.net``
|
||||||
|
|
||||||
.. cfgcmd:: set service ntp server <address> <noselect | nts | pool | prefer>
|
.. cfgcmd:: set service ntp server <address> <noselect | nts | pool | prefer | ptp | interleave>
|
||||||
|
|
||||||
Configure one or more attributes to the given NTP server.
|
Configure one or more attributes to the given NTP server.
|
||||||
|
|
||||||
@ -67,6 +67,12 @@ Configuration
|
|||||||
this host will be chosen for synchronization among a set of correctly
|
this host will be chosen for synchronization among a set of correctly
|
||||||
operating hosts.
|
operating hosts.
|
||||||
|
|
||||||
|
* ``ptp`` enables the PTP transport for this server (see :ref:`ptp-transport`).
|
||||||
|
|
||||||
|
* ``interleave`` enables NTP interleaved mode (see
|
||||||
|
`draft-ntp-interleaved-modes`_), which can improve synchronization accuracy
|
||||||
|
and stability when supported by both parties.
|
||||||
|
|
||||||
.. cfgcmd:: set service ntp listen-address <address>
|
.. cfgcmd:: set service ntp listen-address <address>
|
||||||
|
|
||||||
NTP process will only listen on the specified IP address. You must specify
|
NTP process will only listen on the specified IP address. You must specify
|
||||||
@ -112,3 +118,80 @@ Configuration
|
|||||||
timezone. This normally works with the right/UTC timezone which is the
|
timezone. This normally works with the right/UTC timezone which is the
|
||||||
default
|
default
|
||||||
|
|
||||||
|
.. _draft-ntp-interleaved-modes: https://datatracker.ietf.org/doc/draft-ietf-ntp-interleaved-modes/07/
|
||||||
|
|
||||||
|
Hardware Timestamping of NTP Packets
|
||||||
|
======================================
|
||||||
|
|
||||||
|
The chrony daemon on VyOS can leverage NIC hardware capabilities to record the
|
||||||
|
exact time packets are received on the interface, as well as when packets were
|
||||||
|
actually transmitted. This provides improved accuracy and stability when the
|
||||||
|
system is under load, as queuing and OS context switching can introduce a
|
||||||
|
variable delay between when the packet is received on the network and when it
|
||||||
|
is actually processed by the NTP daemon.
|
||||||
|
|
||||||
|
Hardware timestamping depends on NIC support. Some NICs can be configured to
|
||||||
|
apply timestamps to any incoming packet, while others only support applying
|
||||||
|
timestamps to specific protocols (e.g. PTP).
|
||||||
|
|
||||||
|
When timestamping is enabled on an interface, chrony's default behavior is to
|
||||||
|
try to configure the interface to only timestamp NTP packets. If this mode is
|
||||||
|
not supported, chrony will attempt to set it to timestamp all packets. If
|
||||||
|
neither option is supported (e.g. the NIC can only timestamp received PTP
|
||||||
|
packets), chrony will leverage timestamping on transmitted packets only, which
|
||||||
|
still provides some benefit.
|
||||||
|
|
||||||
|
.. cfgcmd:: set service ntp timestamp interface <interface>
|
||||||
|
|
||||||
|
Configures hardware timestamping on the interface <interface>. The special
|
||||||
|
value `all` can also be specified to enable timestamping on all interfaces
|
||||||
|
that support it.
|
||||||
|
|
||||||
|
Configure the timestamping behavior with the following option:
|
||||||
|
|
||||||
|
* ``receive-filter [all|ntp|ptp|none]`` selects the receive filter mode,
|
||||||
|
which controls which inbound packets the NIC applies timestamps to. The
|
||||||
|
selected mode must be supported by the NIC, or timestamping will be
|
||||||
|
disabled for the interface.
|
||||||
|
|
||||||
|
|
||||||
|
The following `receive-filter` modes can be selected:
|
||||||
|
|
||||||
|
* `all`: All received packets will be timestamped.
|
||||||
|
|
||||||
|
* `ntp`: Only received NTP protocol packets will be timestamped.
|
||||||
|
|
||||||
|
* `ptp`: Only received PTP protocol packets will be timestamped. Combined with
|
||||||
|
the PTP transport for NTP packets, this can be leveraged to take advantage of
|
||||||
|
hardware timestamping on NICs that only support the ptp filter mode.
|
||||||
|
|
||||||
|
* `none`: No received packets will be timestamped. Hardware timestamping of
|
||||||
|
transmitted packets will still be leveraged, if supported by the NIC.
|
||||||
|
|
||||||
|
.. _ptp-transport:
|
||||||
|
|
||||||
|
PTP Transport of NTP Packets
|
||||||
|
=============================
|
||||||
|
|
||||||
|
The Precision Time Protocol (IEEE 1588) is a local network time synchronization
|
||||||
|
protocol that provides high precision time synchronization by leveraging
|
||||||
|
hardware clocks in NICs and other network elements. VyOS does not currently
|
||||||
|
support standards-based PTP, which can be deployed independently of
|
||||||
|
NTP.
|
||||||
|
|
||||||
|
For networks consisting of VyOS and other Linux systems running relatively
|
||||||
|
recent versions of the chrony daemon, NTP packets can be "tunneled" over
|
||||||
|
PTP. NTP over PTP provides the best of both worlds, leveraging hardware support
|
||||||
|
for timestamping PTP packets while retaining the configuration flexibility and
|
||||||
|
fault tolerance of NTP.
|
||||||
|
|
||||||
|
.. cfgcmd:: set service ntp ptp
|
||||||
|
|
||||||
|
Enables the NTP daemon PTP transport. The NTP daemon will listen on the
|
||||||
|
configured PTP port. Note that one or more servers must be individually
|
||||||
|
enabled for PTP before the daemon will synchronize over the transport.
|
||||||
|
|
||||||
|
.. cfgcmd:: set service ntp ptp port <port>
|
||||||
|
|
||||||
|
Configures the PTP port. By default, the standard port 319 is used.
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user