ptpd
(1m)
Name
ptpd - 2008)
Synopsis
/usr/lib/inet/ptpd [-?] [-B] [-c] [-C] [-S] [-f FILE] [-R
FILE] [-d] [-D] [-P] [-x] [-O NUMBER] [-M NUMBER] [-t] [-T
ttl] [-a NUMBER,NUMBER] [-w NUMBER] [-b NAME] [-K] [-u
ADDRESS] [-e] [-h] [-l NUMBER,NUMBER] [-o NUMBER] [-i NUM-
BER] [-n NUMBER] [-y NUMBER] [-m NUMBER] [-V NUMBER] [-g]
[-v NUMBER] [-r NUMBER] [-N NUMBER] [-s NUMBER] [-p NUMBER]
[-q NUMBER] [-W] [-Y NUMBER] [-L] [-j]
Description
System Administration Commands ptpd(1M)
NAME
ptpd - Precision Time Protocol daemon (1588-2008)
SYNOPSIS
/usr/lib/inet/ptpd [-?] [-B] [-c] [-C] [-S] [-f FILE] [-R
FILE] [-d] [-D] [-P] [-x] [-O NUMBER] [-M NUMBER] [-t] [-T
ttl] [-a NUMBER,NUMBER] [-w NUMBER] [-b NAME] [-K] [-u
ADDRESS] [-e] [-h] [-l NUMBER,NUMBER] [-o NUMBER] [-i NUM-
BER] [-n NUMBER] [-y NUMBER] [-m NUMBER] [-V NUMBER] [-g]
[-v NUMBER] [-r NUMBER] [-N NUMBER] [-s NUMBER] [-p NUMBER]
[-q NUMBER] [-W] [-Y NUMBER] [-L] [-j]
DESCRIPTION
The ptpd program is a userland daemon that does very precise
synchronization of system clocks of LAN connected systems.
It implements the Precision Time Protocol (PTP) Version 2
as defined by the IEEE 1588-2008 standard.
PTPd is a complete implementation of the IEEE 1588 v2 speci-
fication 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/
ptpd in Solaris works over any Ethernet based data link. It
can also take advantage of PTP specific hardware found in
certain NICs (Network Interface Card) for improved accuracy.
SERVICE MANAGEMENT
The operation of ptpd is managed as a service by the service
management facility, smf(5), under the service identifier:
svc:/network/ptp:default
Administrative actions on this service, such as enabling,
disabling, or requesting restart, can be performed using
svcadm(1M). The service's status can be queried using the
svcs(1) command. There are several options controlled by
services properties which can be set by the system adminis-
trator. The available options can be listed by executing the
following command:
svccfg -s svc:/network/ptp:default listprop config
Each of these properties can be set using this command:
svccfg -s svc:/network/ptp:default setprop <propname> = <value>
version 2.2.0 Last change: January, 2012 1
System Administration Commands ptpd(1M)
See svcadm(1M) and svccfg(1M).
Available options and their meaning are as follows:
config/listen_ifname
A string specifying the name of the link to which ptp
daemon should bind to. By default, ptp daemon picks the
first usable link with an IP address configured.
config/node_type
A string specifying the working mode of the ptpd. It
can be either "slave" or "master". Default value is
"slave".
config/use_hw
A boolean which when true, instructs ptpd to take
advantage of the PTP hardware assist in the NIC. If set
to true and NIC does not have PTP hardware assist, the
ptpd will exit. Default is false. See EXAMPLES on how
to recognize a NIC with PTP hardware assist.
config/domain
An integer specifying PTP domain as defined in the IEEE
specification. It can take values from 0 to 3 both
inclusive. Default value is 0.
config/announce_interval
An integer specifying the interval in seconds between
successive PTP ANNOUNCE messages sent by PTP master.
Default value is 2.
config/sync_interval
An integer specifying the interval between successive
PTP SYNC messages sent by PTP master. Default value is
1.
config/logfile
A string specifying the location of the file used for
log output. The default is /var/log/ptp.log
config/enable_logging
A boolean which when true, instructs ptpd to log syn-
chronization and other related information in the file
specified by config/logfile. Default value is false.
config/other_options
A string specifying other command line options men-
tioned below to be passed to svc:/network/ptp:default
at startup.
OPTIONS
-? display a short help text
version 2.2.0 Last change: January, 2012 2
System Administration Commands ptpd(1M)
-B enable debugging if it has been previously compiled in
-c run in command line (non-daemon) mode
-C run in command line mode and display statistics and
logs
-S do not log information to syslog
-f FILE
send output to FILE
-R FILE
record a quality FILE
-d display stats
-D display stats in .csv format
-x do not reset the clock if off by more than one second
-M NUMBER
do not accept delay values of more than NUMBER nanosec-
onds
-O NUMBER
do not reset the clock if offset is more than NUMBER
nanoseconds
-P display packets received for debugging purposes
-t do not adjust the system clock
-T set multicast TTL for packets. Defaults to 1.
-a NUMBER,NUMBER
specify clock servo P and I attenuations
-w NUMBER
specify one way delay filter stiffness
-b NAME
bind PTP to network interface NAME
-K use PTP hardware in network interface. Exit if PTP
hardware is not usable or available.
-u ADDRESS
also send uni-cast to ADDRESS
-e run in ethernet mode (currently unimplemented)
version 2.2.0 Last change: January, 2012 3
System Administration Commands ptpd(1M)
-h run in End to End mode
-l NUMBER,NUMBER
specify inbound, outbound latency in nsec
-o NUMBER
specify current UTC offset
-i NUMBER
specify PTP domain number
-n NUMBER
specify announce interval in 2^NUMBER sec
-y NUMBER
specify sync interval in 2^NUMBER sec
-m NUMBER
specify max number of foreign master records
-N NUMBER
announce receipt timeout
-V limit displaying statistics by setting the seconds
between log messages
-g run as slave only
-v NUMBER
specify system clock allen variance
-r NUMBER
specify system clock accuracy
-s NUMBER
specify system clock class
-p NUMBER
specify priority1 attribute
-q NUMBER
specify priority2 attribute
-W run as master only
-Y NUMBER
set an initial delay request value
-L enable running multiple ptpd daemons
-j turn off IGMP refresh messages
version 2.2.0 Last change: January, 2012 4
System Administration Commands ptpd(1M)
EXAMPLES
Example 1 Identify the presence of PTP hardware assist. If
the ptp property is equal to 1, PTP hardware assist can be
enabled for that NIC through the config/use_hw property.
#dladm show-linkprop -p ptp
LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE
net1 ptp r- 0 0 0 0,1
net2 ptp r- 0 0 0 0,1
net0 ptp r- 0 0 0 0,1
net3 ptp r- 0 0 0 0,1
net7 ptp r- 0 0 0 0,1
net8 ptp r- 1 1 0 0,1
In the example above, the link net8 supports ptp in hardware.
Example 2 Starting the ptp service in slave mode.
First bind ptp service to net8 -
#svccfg -s svc:/network/ptp:default \
setprop config/listen_ifname=net8
Then set the mode to "slave" -
#svccfg -s svc:/network/ptp:default \
setprop config/node_type=slave
Enable the service -
#svcadm enable svc:/network/ptp:default
Starting the service in slave mode will allow the ptp ser-
vice to set system time to an external clock (PTP master) on
the network connected to interface net8.
Example 3 Force ptp service to use PTP hardware in the NIC.
First configure the service to use the PTP hardware -
#svccfg -s svc:/network/ptp:default \
setprop config/use_hw=yes
Then refresh the service, assuming it is enabled and online
already -
#svcadm refresh svc:/network/ptp:default
ATTRIBUTES
See attributes(5) for descriptions of the following
attributes:
version 2.2.0 Last change: January, 2012 5
System Administration Commands ptpd(1M)
+---------------+---------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+---------------------+
|Availability | service/network/ptp |
+---------------+---------------------+
|Stability | Uncommitted |
+---------------+---------------------+
NOTES
Be careful when logging is enabled. In default setting it
can generate upto 40 MB of data in a window of 24 hours and
many times more if enabled with -P option.
Solaris does not allow ptpd to run inside a zones(5).
SEE ALSO
svcs(1), svcadm(1M), attributes(5), smf(5)
IEEE Standard 1588-2008, Precision Clock Synchronization
Protocol for Networked Measurement and Control Systems, 2008
AUTHORS
Gael Mace <gael_mace@users.sourceforge.net> & Alexandre Van
Kempen.
Steven Kreuzer <skreuzer@freebsd.org>
George Neville-Neil <gnn@freebsd.org>
This manual page was written by Gael Mace for any Linux
environment project.
This software was built from source available at
https://java.net/projects/solaris-userland. The original
community source was downloaded from http://down-
loads.source-
forge.net/project/ptpd/ptpd/2.2.0/ptpd-2.2.0.tar.gz
Further information about this software can be found on the
open source community website at http://ptpd.source-
forge.net/.
version 2.2.0 Last change: January, 2012 6