Go to main content

man pages section 1M: System Administration Commands

Exit Print View

Updated: July 2017
 
 

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 NUMBER] [-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 NUMBER] [-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  synchro-
       nization  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 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 contribu-
       tions from users, PTPd is becoming an increasingly portable, interoper-
       able, 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  ser-
       vice'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  administrator. The available options can be listed by exe-
       cuting 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>


       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 specifi-
              cation.  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 out-
              put. The default is /var/log/ptp.log

       config/enable_logging
              A boolean which when true, instructs ptpd to log synchronization
              and  other  related  information  in  the file specified by con-
              fig/logfile. Default value is false.

       config/other_options
              A string specifying other command line options  mentioned  below
              to be passed to svc:/network/ptp:default at startup.

OPTIONS
       -?     display a short help text

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

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

       -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

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


       +---------------+---------------------+
       |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://downloads.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.sourceforge.net/.



version 2.2.0                    January, 2012                        ptpd(1M)