man pages section 1M: System Administration Commands

Exit Print View

Updated: July 2014

ptpd (1m)


ptpd - 2008)


/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]
[-q NUMBER] [-W] [-Y NUMBER] [-L] [-j]


System Administration Commands                           ptpd(1M)

     ptpd - Precision Time Protocol daemon (1588-2008)

     /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]

     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

     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.

     The operation of ptpd is managed as a service by the service
     management facility, smf(5), under the service identifier:


     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:

          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.

          A string specifying the working mode of  the  ptpd.  It
          can  be  either  "slave"  or "master". Default value is

          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.

          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.

          An integer specifying the interval in  seconds  between
          successive  PTP  ANNOUNCE  messages sent by PTP master.
          Default value is 2.

          An integer specifying the interval  between  successive
          PTP  SYNC messages sent by PTP master. Default value is

          A string specifying the location of the file  used  for
          log output. The default is /var/log/ptp.log

          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.

          A  string  specifying  other  command line options men-
          tioned below to be passed  to  svc:/network/ptp:default
          at startup.

     -?   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

     -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-

     -O NUMBER
          do  not  reset  the clock if offset is more than NUMBER

     -P   display packets received for debugging purposes

     -t   do not adjust the system clock

     -T   set multicast TTL for packets.  Defaults to 1.

          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

          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)

     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

     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

     See   attributes(5)   for   descriptions  of  the  following

version 2.2.0       Last change: January, 2012                  5

System Administration Commands                           ptpd(1M)

     |Availability   | service/network/ptp |
     |Stability      | Uncommitted         |
     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).

     svcs(1), svcadm(1M), attributes(5), smf(5)

     IEEE Standard  1588-2008,  Precision  Clock  Synchronization
     Protocol for Networked Measurement and Control Systems, 2008

     Gael Mace <> & Alexandre  Van

     Steven Kreuzer <>

     George Neville-Neil <>

     This  manual  page  was  written  by Gael Mace for any Linux
     environment project.

     This  software  was   built   from   source   available   at    The  original
     community   source   was   downloaded   from    http://down-

     Further information about this software can be found on  the
     open   source   community   website  at  http://ptpd.source-

version 2.2.0       Last change: January, 2012                  6