ptpd, ptpd-avb

Updated: April 19, 2023

Precision Time Protocol daemon

Syntax:

ptpd [-?BCcDdeGghjKLPStUWx] [-A] [-a number,number] [-b name] 
     [-F number:number] [-f file] [-I group] [-i number] [-J number] 
     [-l number,number] [-M number] [-m  number] [-N number] [-n number] 
     [-O number] [-o number] [-p number] [-q number] [-R file] [-r number] 
     [-s number] [-T ttl] [-u address] [-V number] [-v number] [-w number] 
     [-X number] [-Y number] [-y number] [-Z]

ptpd-avb [-?BCcDdeGghjKLPStUWx] [-A] [-a number,number] [-b name] 
         [-F number:number] [-f file] [-I group] [-i number] [-J number] 
         [-l number,number] [-M number] [-m  number] [-N number] [-n number] 
         [-O number] [-o number] [-p number] [-q number] [-R file] [-r number] 
         [-s number] [-T ttl] [-u address] [-V number] [-v number] [-w number] 
         [-X number] [-Y number] [-y number] [-Z]

Runs on:

QNX Neutrino

Options:

-?
Display a short help text.
-A
When set, peer delay (or path delay) requests are ignored when running as a slave.
-a number,number
Specify clock servo P and I attenuations.
-B
Enable debugging if it has been previously compiled in.
-b name
Bind PTP to the network interface name.
-C
Run in command-line mode, and display statistics and logs.
-c
Run in command-line (nondaemon) mode.
-D
Display stats in .csv format.
-d
Display stats.
-e
Run in ethernet mode (currently unimplemented).
-F ClockId:PortId
As a slave, force Master Clock Identity and ignore announce packets. 0000000000000000:0 is a wildcard to use the Clock Identity from the first received sync packet.

As a master, don't run the Best Master Clock Algorithm (BMCA); immediately go to master status. The clock and port IDs are ignored in master mode.

-f file
Send output to file.
-G
Run as master with connection to NTP.
-g
Run as slave only.
-h
Run in End-to-End mode.
-I group
Specify the multicast group for PTP_EXPERIMENTAL mode.
-i number
Specify the PTP domain number.
-J number
Specify the maximum offset in ns before stepping the clock.
-j
Turn off IGMP refresh messages.
-K
Enable devctl() support. If you specify this option, ptpd and ptpd-avb register /dev/ptpd (DEFAULT_PTPD_PATH, defined in <dcmd_ptpd.h>) in the path namespace; use the DCMD_PTPD_* commands with a file descriptor from opening this path. For more information, see Devctl and Ioctl Commands.
-L
Enable the running of multiple ptpd daemons.
-l number,number
(“el”) Specify inbound and outbound latencies, in nsec.
-M number
Don't accept delay values of more than number nanoseconds.
-m number
Specify the maximum number of foreign master records.
-N number
Specify the announce receipt timeout.
-n number
Specify the announce interval in 2^number sec.
-O number
(“Oh”) Don't reset the clock if the offset is more than number nanoseconds.
-o number
Specify the current UTC offset.
-P
Display packets received for debugging purposes.
-p number
Specify the priority1 attribute.
-q number
Specify the priority2 attribute.
-R file
Record a quality file.
-r number
Specify the system clock accuracy.
-S
Don't log information to syslog.
-s number
Specify the system clock class.
-T ttl
Set multicast TTL for packets. Defaults to 1.
-t
Don't adjust the system clock.
-U
Enable hybrid mode, which uses both unicast and multicast; requires PTP_EXPERIMENTAL.
-u address
Also send unicast to address.
-V number
Limit displaying statistics by setting the seconds between log messages.
-v number
Specify the system clock allen variance.
-W
Run as master without NTP.
-w number
Specify one-way delay filter stiffness.
-X number
Specify the correction (ns) to add to the offset when stepping the clock.
-x
Don't reset the clock if it's off by more than one second.
-Y number
Set an initial delay request value.
-y number
Specify the sync interval in 2^number sec.
-Z
When set, path trace type-length-values (TLVs) are added to the announce messages.

Description:

The ptpd daemon implements the Precision Time Protocol (PTP) Version 2 as defined by the IEEE 1588-2008 standard. PTP was developed to provide very precise time coordination of LAN-connected computers.

The ptpd-avb and ptpd daemons are similar, but ptpd time update datagrams are encapsulated in an IP packet on top of Ethernet (IEEE-1588v2 protocol specification), whereas ptpd-avb time update datagrams are directly on Ethernet (IEEE-802.1AS protocol specification).

PTPd is a complete implementation of the IEEE 1588 v2 specification for a standard (ordinary) clock. PTPd has been tested with and is known to work properly with other IEEE 1588 implementations. The source code for PTPd is freely available under a BSD-style license. Thanks to contributions from users, PTPd is becoming an increasingly portable, interoperable, and stable IEEE 1588 implementation.

For more information, see http://ptpd.sourceforge.net/.

Contributing authors:

Gael Mace (gael_mace@users.sourceforge.net), Alexandre Van Kempen, Steven Kreuzer (skreuzer@freebsd.org), and George Neville-Neil (gnn@freebsd.org)