Provided by: ptpd_2.3.1-debian1-4build2_amd64 bug

NAME

       ptpd2.conf - Precision Time Protocol daemon config file

CONFIGURATION FILE FORMAT

       Settings   in   the   PTPd   configuration   file  are  grouped  into  sections  and  take  the  form  of
       section:key="value" variables. The configuration file can either be formatted that way (preferred) or  in
       .ini file style where a series of key="value" variables is grouped into sections using [section] headers.
       Every setting listed here can also be  specified  as  a  command  line  parameter  (--section:key=value).
       Quotation marks are optional.  NOTE: the configuration file must end with a newline.

RELOADING CONFIGURATION

       Only  a small number of configuration file settings (SNMP, lock file configuration) requires a restart of
       the PTPd process to take effect. All other settings can be changed while ptpd is running -  configuration
       file  is  reloaded  and  checked  for  changes  when  PTPd  receives  the  SIGHUP  signal. When reloading
       configuration, PTPd will always attempt to test settings before applying  them  and  once  running,  will
       never  exit  as  a  result  of  configuration errors. If it does exit during config refresh, this is most
       likely a bug.

PRIORITY

       Any setting passed as a command line parameter will always take priority over the configuration file,  so
       once  ptpd  is  running,  those settings cannot be changed - a warning will be logged on every attempt to
       change those settings using the configuration file.

CONFIGURATION SECTIONS

       ptpengine
              PTP protocol specific configuration

       clock  Clock related settings

       servo  Clock control PI servo configuration

       global Global configuration - logging, etc.

       ntpengine
              NTP control configuration

       CONFIGURATION VARIABLES

       ptpengine:interface [STRING]

               usage   Network interface to use - eth0, igb0 etc. (required).

               default [none]

       ptpengine:backup_interface [STRING]

               usage   Backup network interface to use - eth0, igb0 etc. When no GM available, slave  will  keep
                       alternating between primary and secondary until a GM is found.

               default [none]

       ptpengine:preset [SELECT]

               options none slaveonly masteronly masterslave

               usage   PTP engine preset:

                           none        Defaults, no clock class restrictions

                           slaveonly   Slave only (clock class 255 only)

                           masteronly  Master, passive when not best master (clock class 0..127)

                           masterslave Full  IEEE 1588 implementation: Master, slave when not best master (clock
                                       class 128..254)

               default slaveonly

               NOTE:   Presets  affect  the  following  settings:  ptpengine:slave_only,   clock_no_adjust   and
                       ptpengine:clock_class  (range  and default value).  To see all preset settings, run ptpd2
                       -H (--long-help)

       ptpengine:transport [SELECT]

               options ipv4 ethernet

               usage   Transport type for PTP packets. NOTE: Ethernet transport requires building  with  libpcap
                       and  is  not  supported  on  Solaris  as of 2.3.1, and cannot be enabled on those systems
                       unless ptpd is compiled with --enable-experimental-options.

               default ipv4

       ptpengine:dot2as [BOOLEAN]

               usage   Enable IEEE 802.1AS / AVB compatibility (transportSpecific field in PTP message headers).
                       Requires Ethernet transport as this is the only mapping used by 802.1AS that PTP supports

               default N

       ptpengine:ip_mode [SELECT]

               options multicast unicast hybrid

               usage   IP transmission mode (requires IP transport):

                           multicast   uses multicast for all messages

                           hybrid      uses  multicast for sync and announce, and unicast for delay request  and
                                       response

                           unicast     uses  unicast  for  all  transmission.  When  unicast  mode  is selected,
                                       destination IP(s)  (ptpengine:unicast_destinations)  must  be  configured
                                       depending  on unicast negotiation setting (ptpengine:unicast_negotiation)
                                       and master or slave role (see: ptpengine:unicast_destinations)

               default multicast

       ptpengine:unicast_negotiation [BOOLEAN]

               usage   Enable unicast negotiation support using signaling messages -  as  used  by  the  Telecom
                       profile (ITU-T G.8265.1).

               default N

       ptpengine:unicast_grant_duration [INT: 30 .. 604800]

               usage   Duration (seconds) for which the transmission of unicast messages is granted by a master,
                       or requested by a slave when unicast negotiation is used (ptpengine:unicast_negotiation).
                       When using PTPd with other PTP implementations, PTPd will never refuse to grant a message
                       based  on  the requested duration: it will grant for 30 seconds if requested for any less
                       than 30 seconds, and will grant for 7 days (604800) if requested for any longer.

               default 300

       ptpengine:disable_bmca [BOOLEAN]

               usage   Disable Best Master Clock Algorithm for unicast masters. Only  effective  for  masteronly
                       preset - all Announce messages will be ignored and the cock will transition directly into
                       MASTER  state and remain an active master. This behaviour is required for Telecom profile
                       operation.

               default N

       ptpengine:use_libpcap [BOOLEAN]

               usage   Use libpcap for sending and receiving traffic (automatically enabled in  Ethernet  mode).
                       Requires building with libpcap - builds made with --disable-pcap cannot use this feature,
                       and  as  of  2.3.1,  Solaris systems will not attempt to use libpcap unless compiled with
                       --enable-experimental-options

               default N

       ptpengine:delay_mechanism [SELECT]

               options E2E P2P DELAY_DISABLED

               usage   Delay  detection  mode  used  -   use   DELAY_DISABLED   for   syntonisation   only   (no
                       synchronisation).

               default E2E

       ptpengine:domain [INT: 0 .. 127]

               usage   PTP domain number.

               default 0

       ptpengine:any_domain [BOOLEAN]

               usage   Usability  extension: if enabled, a slave-only clock will accept masters from any domain,
                       while preferring the configured domain, and preferring lower domain number.  This  option
                       should  be  used  for  slave-only clocks and should not be used with unicast negotiation.
                       NOTE: this behaviour is not part of the standard.

               default N

       ptpengine:port_number [INT: 1 .. 65534]

               usage   PTP port number (part of PTP Port Identity - not UDP port).  For ordinary clocks  (single
                       port),  the  default  should  be  used, but when running multiple instances to simulate a
                       boundary clock, The port number can be changed.

               default 1

       ptpengine:slave_only [BOOLEAN]

               usage   Slave only mode (sets clock class to 255, overriding value from preset).

               default Y

       ptpengine:inbound_latency [INT]

               usage   Specify latency correction (nanoseconds) for incoming packets.

               default 0

       ptpengine:outbound_latency [INT]

               usage   Specify latency correction (nanoseconds) for outgoing packets.

               default 0

       ptpengine:offset_shift [INT]

               usage   Apply an arbitrary shift (nanoseconds) to offset from master when in slave  state.  Value
                       can  be  positive  or  negative  -  useful for correcting for of antenna latencies, delay
                       assymetry and IP stack latencies. This will not be visible  in  the  offset  from  master
                       value - only in the resulting clock correction.

               default 0

       ptpengine:always_respect_utc_offset [BOOLEAN]

               usage   Compatibility option: In slave state, always respect UTC offset announced by best master,
                       even if the the
                        currrentUtcOffsetValid  flag is announced FALSE. NOTE: this behaviour is not part of the
                       standard.

               default N

       ptpengine:prefer_utc_offset_valid [BOOLEAN]

               usage   Compatibility extension to BMC algorithm: when enabled, BMC  for  both  master  and  save
                       clocks will prefer masters announcing currrentUtcOffsetValid as TRUE.
                        NOTE: this behaviour is not part of the standard.

               default N

       ptpengine:require_utc_offset_valid [BOOLEAN]

               usage   Compatibility  option:  when  enabled,  ptpd2  will ignore Announce messages from masters
                       announcing currentUtcOffsetValid as FALSE. NOTE:  this  behaviour  is  not  part  of  the
                       standard.

               default N

       ptpengine:log_announce_interval [INT: -4 .. 7]

               usage   PTP   announce   message  interval  in  master  state.  When  using  unicast  negotiation
                       (ptpengine:unicast_negotiation), for  slaves  this  is  the  initial  (minimum)  interval
                       requested and for masters this is the minimum interval granted.  (expressed as log 2 i.e.
                       -1=0.5s, 0=1s, 1=2s etc.)

               default 1

       ptpengine:log_announce_interval_max [INT: -1 .. 7]

               usage   When  using  unicast  negtiation  (ptpengine:unicast_negotiation),  this  is  the maximum
                       announce interval granted by a master, and the maximum interval a slave will  attempt  to
                       request.  (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.)

               default 5

       ptpengine:announce_receipt_timeout [INT: 2 .. 255]

               usage   PTP announce receipt timeout announced in master state.

               default 6

       ptpengine:announce_receipt_grace_period [INT: 0 .. 20]

               usage   PTP  announce  receipt timeout grace period in slave state: when announce receipt timeout
                       occurs, disqualify current best GM,
                        then wait n times announce receipt timeout before resetting. Allows for  a  seamless  GM
                       failover when standby GMs are slow
                        to react. When set to 0, this option is not used.

               default 0

       ptpengine:log_sync_interval [INT: -7 .. 7]

               usage   PTP   sync   message   interval   in   master   state.  When  using  unicast  negotiation
                       (ptpengine:unicast_negotiation), for  slaves  this  is  the  initial  (minimum)  interval
                       requested and for masters this is the minimum interval granted.       (expressed as log 2
                       i.e. -1=0.5s, 0=1s, 1=2s etc.)

               default 0

       ptpengine:log_sync_interval_max [INT: -1 .. 7]

               usage   When  using  unicast negtiation (ptpengine:unicast_negotiation), this is the maximum sync
                       interval granted by a master, and the maximum interval a slave will attempt  to  request.
                       (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.)

               default 5

       ptpengine:log_delayreq_override [BOOLEAN]

               usage   Override the Delay Request interval provided by best master.

               default N

       ptpengine:log_delayreq_auto [BOOLEAN]

               usage   Automatically override the Delay Request interval (with  ptpengine:log_delayreq_interval)
                       if  the  received  value is 127 (0X7F), such as in unicast messages, unless using unicast
                       negotiation (ptpengine:unicast_negotiation)

               default Y

       ptpengine:log_delayreq_interval_initial [INT: -7 .. 7]

               usage   Delay request interval used before receiving first delay response      (expressed as  log
                       2 i.e. -1=0.5s, 0=1s, 1=2s etc.)

               default 0

       ptpengine:log_delayreq_interval [INT: -7 .. 7]

               usage   Minimum  delay  request interval announced when in master state, in slave state overrides
                       the master interval.
                        (expressed as log 2 i.e. -1=0.5s, 0=1s,  1=2s  etc.).  When  using  unicast  negotiation
                       (ptpengine:unicast_negotiation),  for  slaves  this  is  the  initial  (minimum) interval
                       requested and for masters this is the minimum interval granted.

               default 0

       ptpengine:log_delayreq_interval_max [INT: -1 .. 7]

               usage   When using unicast negtiation (ptpengine:unicast_negotiation), this is the maximum  delay
                       request  interval  granted  by a master, and the maximum interval a slave will attempt to
                       request.
                        (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.).

               default 5

       ptpengine:log_peer_delayreq_interval [INT: -7 .. 7]

               usage   Minimum peer delay request message interval in peer to peer delay mode (expressed as  log
                       2    i.e.    -1=0.5s,    0=1s,    1=2s    etc.).    When    using   unicast   negotiation
                       (ptpengine:unicast_negotiation), this is the initial (minimum) interval  requested  by  a
                       node from its peer and this is the minimum interval granted for a peer.

               default 1

       ptpengine:log_peer_delayreq_interval_max [INT: -1 .. 7]

               usage   When  using  unicast negtiation (ptpengine:unicast_negotiation), this is the maximum peer
                       delay request interval granted by a node, and the maximum interval a node will attempt to
                       request from its peer.
                        (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.).

               default 5

       ptpengine:foreignrecord_capacity [INT: 5 .. 10]

               usage   Foreign master record size (Maximum number of foreign masters).

               default 5

       ptpengine:ptp_allan_variance [INT: 0 .. 65535]

               usage   Specify Allan variance announced in master state.

               default 28768

       ptpengine:ptp_clock_accuracy [SELECT]

               options ACC_25NS ACC_100NS ACC_250NS ACC_1US  ACC_2.5US  ACC_10US  ACC_25US  ACC_100US  ACC_250US
                       ACC_1MS  ACC_2.5MS  ACC_10MS  ACC_25MS  ACC_100MS  ACC_250MS  ACC_1S  ACC_10S ACC_10SPLUS
                       ACC_UNKNOWN

               usage   Clock accuracy range announced in master state.

               default ACC_UNKNOWN

       ptpengine:utc_offset [INT]

               usage   Underlying time source UTC offset announced in master state.

               default 0

       ptpengine:utc_offset_valid [BOOLEAN]

               usage   Underlying time source UTC offset validity announced in master state.

               default N

       ptpengine:time_traceable [BOOLEAN]

               usage   Underlying time source time traceability announced in master state.

               default N

       ptpengine:frequency_traceable [BOOLEAN]

               usage   Underlying time source frequency traceability announced in master state.

               default N

       ptpengine:ptp_timescale [SELECT]

               options PTP ARB

               usage   Time scale announced in master state (with ARB, UTC properties are  ignored  by  slaves).
                       When  clock  class  is set to 13 (application specific), this value is ignored and ARB is
                       used.

               default ARB

       ptpengine:ptp_timesource [SELECT]

               options ATOMIC_CLOCK GPS TERRESTRIAL_RADIO PTP NTP HAND_SET OTHER INTERNAL_OSCILLATOR

               usage   Time source announced in master state.

               default INTERNAL_OSCILLATOR

       ptpengine:clock_class [INT: 0 .. 255]

               usage   Clock class - announced in master state. Always 255 for slave-only.  Minimum, maximum and
                       default values are controlled by presets.   If  set  to  13  (application  specific  time
                       source),  announced  time scale is always set to ARB.  This setting controls the states a
                       PTP port can be in. If below 128, port will only be in MASTER or PASSIVE  states  (master
                       only). If above 127, port will be in MASTER or SLAVE states.

               default 255

       ptpengine:priority1 [INT: 0 .. 248]

               usage   Priority 1 announced in master state,used for Best Master       Clock selection.

               default 128

       ptpengine:priority2 [INT: 0 .. 248]

               usage   Priority 2 announced in master state, used for Best Master       Clock selection.

               default 128

       ptpengine:max_listen [INT: min: 1 ]

               usage   Number of consecutive protocol resets to LISTENING before full network reset.

               default 5

       ptpengine:unicast_destinations [STRING]

               usage   An  IPv4  address  or  list  of  IPv4 addresses to be used as unicast destinations.  When
                       unicast negotiation (ptpengine:unicast_negotiation) is enabled, setting this is mandatory
                       for slaves as they must be aware of which GMs to request  messages  from.   When  unicast
                       negotiation is disabled, setting this is mandatory for GMs, as they must deliver messages
                       to a pre-configured group of slaves.

               default [none]

       ptpengine:unicast_domains [STRING]

               usage   Specify    PTP    domain    number    for    each    configured    unicast    destination
                       (ptpengine:unicast_destinations).  This is only used by slave-only clocks  using  unicast
                       destinations  to  allow  for each master to be in a separate domain, such as with Telecom
                       Profile. The number of entries should match the number of unicast destinations, otherwise
                       unconfigured  domains  or  domains  set  to  0  are   set   to   domain   configured   in
                       ptpengine:domain.   The  format is a comma, tab or space-separated list of 8-bit unsigned
                       integers (0 .. 255).

               default [none]

       ptpengine:unicast_local_preference [STRING]

               usage   Specify   a    local    preference    for    each    configured    unicast    destination
                       (ptpengine:unicast_destinations).   This  is only used by slave-only clocks using unicast
                       destinations to allow for each master's BMC selection to be  influenced  locally  by  the
                       slave,  such  as  with  Telecom Profile. The number of entries should match the number of
                       unicast destinations, otherwise unconfigured preference  is  set  to  0  (highest).   The
                       format is a comma, tab or space-separated list of 8-bit unsigned integers (0 .. 255).

               default [none]

       ptpengine:unicast_peer_destination [STRING]

               usage   When  using  IP unicast mode (ptpengine:ip_mode=unicast) and Peer to Peer delay mechanism
                       (ptpengine:delay_mechanism=P2P), a peer unicast destination must be configured to request
                       the peer delay from. Format is a single unicast IPv4 address.

               default [none]

       ptpengine:management_enable [BOOLEAN]

               usage   Enable handling of PTP management messages. Only GET messages are processed  by  default.
                       See ptpengine:management_set_enable.

               default Y

       ptpengine:management_set_enable [BOOLEAN]

               usage   Accept SET and COMMAND management messages.

               default N

       ptpengine:igmp_refresh [BOOLEAN]

               usage   Send explicit IGMP joins between engine resets and periodically       in master state.

               default Y

       ptpengine:master_igmp_refresh_interval [INT: 0 .. 255]

               usage   Periodic  IGMP  join interval (seconds) in master state when running IPv4 multicast: when
                       set below 10 or when ptpengine:igmp_refresh is disabled, this setting has no effect.

               default 60

       ptpengine:multicast_ttl [INT: 1 .. 64]

               usage   Multicast time to live for multicast PTP packets (ignored and set to 1 for peer  to  peer
                       messages).

               default 64

       ptpengine:ip_dscp [INT: 0 .. 63]

               usage   DiffServ CodepPoint for packet prioritisation (decimal). When set to zero, this option is
                       not used. Use 46 for Expedited Forwarding (0x2e).

               default 0

       ptpengine:sync_stat_filter_enable [BOOLEAN]

               usage   Enable statistical filter for Sync messages

               default N

       ptpengine:sync_stat_filter_type [SELECT]

               options none mean min max absmin absmax median

               usage   Type of filter used for Sync message filtering:

                           none        no filtering - pass-through

                           mean        mean (average) - smooth results but influenced by outliers

                           min         minimal value - useful for high packet delay variation ("lucky packets")

                           max         maximal value - useful for testing worst case scenarios

                           absmin      absolute minimum - value closest to zero. Also useful for test purposes.

                           absmax      absolute maximun value farthest away from zero

                           median      median (middle value) - more robust than mean, not influenced by outliers

               default min

       ptpengine:sync_stat_filter_window [INT: 3 .. 128]

               usage   Number of samples used for the Sync statistical filter

               default 4

       ptpengine:sync_stat_filter_window_type [SELECT]

               options sliding interval

               usage   Sampling window behaviour for the Sync statistical filter:

                           sliding     sliding  window - a value is output every time the filter runs, which can
                                       result in duplicates

                           interval    only output a  value  every  n-th  sample  (full  window)  -  independent
                                       sampling periods

               default sliding

       ptpengine:delay_stat_filter_enable [BOOLEAN]

               usage   Enable statistical filter for Delay messages

               default N

       ptpengine:delay_stat_filter_type [SELECT]

               options none mean min max absmin absmax median

               usage   Type of filter used for Delay message filtering:

                           none        no filtering - pass-through

                           mean        mean (average) - smooth results but influenced by outliers

                           min         minimal value - useful for high packet delay variation ("lucky packets")

                           max         maximal value - useful for testing worst case scenarios

                           absmin      absolute minimum - value closest to zero. Also useful for test purposes.

                           absmax      absolute maximun value farthest away from zero

                           median      median (middle value) - more robust than mean, not influenced by outliers

               default min

       ptpengine:delay_stat_filter_window [INT: 3 .. 128]

               usage   Number of samples used for the Delay statistical filter

               default 4

       ptpengine:delay_stat_filter_window_type [SELECT]

               options sliding interval

               usage   Sampling window behaviour for the Delay statistical filter:

                           sliding     sliding  window - a value is output every time the filter runs, which can
                                       result in duplicates

                           interval    only output a  value  every  n-th  sample  (full  window)  -  independent
                                       sampling periods

               default sliding

       ptpengine:delay_outlier_filter_enable [BOOLEAN]

               usage   Enable outlier filter for the Delay Response component in slave state

               default N

       ptpengine:delay_outlier_filter_action [SELECT]

               options discard filter

               usage   Delay  Response  outlier  filter  action. If set to 'filter', outliers are       replaced
                       with moving average.

               default discard

       ptpengine:delay_outlier_filter_capacity [INT: 4 .. 60]

               usage   Number of samples in the Delay Response outlier filter buffer

               default 20

       ptpengine:delay_outlier_filter_threshold [FLOAT: 0.001000 .. 1000.000000]

               usage   Delay Response outlier filter threshold: multiplier for Peirce's maximum         standard
                       deviation.  When  set  below  1.0, filter is tighter, when set above       1.0, filter is
                       looser than standard Peirce's test.

               default 1.000000

       ptpengine:delay_outlier_filter_always_filter [BOOLEAN]

               usage   Always run the Delay Response outlier filter, even if clock is being  slewed  at  maximum
                       rate

               default N

       ptpengine:delay_outlier_filter_autotune_enable [BOOLEAN]

               usage   Enable automatic threshold control for Delay Response outlier filter.

               default Y

       ptpengine:delay_outlier_filter_autotune_minpercent [INT: 0 .. 99]

               usage   Delay  Response  outlier  filter autotune low watermark - minimum percentage of discarded
                       samples in the update period before filter is tightened by the autotune step value

               default 20

       ptpengine:delay_outlier_filter_autotune_maxpercent [INT: 1 .. 100]

               usage   Delay Response outlier filter autotune high watermark - maximum percentage  of  discarded
                       samples in the update period before filter is loosened by the autotune step value

               default 95

       ptpengine:delay_outlier_filter_autotune_step [FLOAT: 0.010000 .. 10.000000]

               usage   The  value  the Delay Response outlier filter threshold is increased or decreased by when
                       auto-tuning

               default 0.100000

       ptpengine:delay_outlier_filter_autotune_minthreshold [FLOAT: 0.010000 .. 10.000000]

               usage   Minimum Delay Response filter threshold value used when auto-tuning

               default 0.100000

       ptpengine:delay_outlier_filter_autotune_maxthreshold [FLOAT: 0.010000 .. 10.000000]

               usage   Maximum Delay Response filter threshold value used when auto-tuning

               default 5.000000

       ptpengine:delay_outlier_weight [FLOAT: 0.010000 .. 2.000000]

               usage   Delay Response outlier weight: if an outlier is detected, determines       the amount  of
                       its deviation from mean that is used to build the standard       deviation statistics and
                       influence further outlier detection.        When set to 1.0, the outlier is used as is.

               default 1.000000

       ptpengine:delay_outlier_filter_stepdetect_enable [BOOLEAN]

               usage   Enable  Delay  Response  filter  step  detection  (delaySM)  to  block when certain level
                       exceeded

               default N

       ptpengine:delay_outlier_filter_stepdetect_threshold [INT: 50000 .. 999999999]

               usage   Delay step detection threshold. Step detection is performed only when  delaySM  is  below
                       this threshold (nanoseconds)

               default 1000000

       ptpengine:delay_outlier_filter_stepdetect_level [INT: 50000 .. 999999999]

               usage   Delay  step  level. When step detection enabled and operational, delaySM above this level
                       (nanoseconds) is considered a clock step and updates are paused

               default 500000

       ptpengine:delay_outlier_filter_stepdetect_credit [INT: 50 .. 1000]

               usage   Initial credit (number of samples) the Delay step detection filter can block  for.   When
                       credit   is   exhausted,  filter  stops  blocking.  Credit  is  gradually  restored  (see
                       ptpengine:delay_outlier_filter_stepdetect_credit_increment)

               default 200

       ptpengine:delay_outlier_filter_stepdetect_credit_increment [INT: 1 .. 100]

               usage   Amount of credit for the Delay step detection filter restored every full sample window

               default 10

       ptpengine:sync_outlier_filter_enable [BOOLEAN]

               usage   Enable outlier filter for the Sync component in slave state.

               default N

       ptpengine:sync_outlier_filter_action [SELECT]

               options discard filter

               usage   Sync outlier filter action. If set to 'filter', outliers are replaced        with  moving
                       average.

               default discard

       ptpengine:sync_outlier_filter_capacity [INT: 4 .. 60]

               usage   Number of samples in the Sync outlier filter buffer.

               default 20

       ptpengine:sync_outlier_filter_threshold [FLOAT: 0.001000 .. 1000.000000]

               usage   Sync  outlier  filter  threshold:  multiplier  for  the  Peirce's  maximum standard
                       deviation. When set below 1.0, filter is tighter, when set above  1.0,         filter  is
                       looser than standard Peirce's test.

               default 1.000000

       ptpengine:sync_outlier_filter_always_filter [BOOLEAN]

               usage   Always run the Sync outlier filter, even if clock is being slewed at maximum rate

               default N

       ptpengine:sync_outlier_filter_autotune_enable [BOOLEAN]

               usage   Enable automatic threshold control for Sync outlier filter.

               default Y

       ptpengine:sync_outlier_filter_autotune_minpercent [INT: 0 .. 99]

               usage   Sync  outlier  filter autotune low watermark - minimum percentage of discarded samples in
                       the update period before filter is tightened by the autotune step value

               default 20

       ptpengine:sync_outlier_filter_autotune_maxpercent [INT: 1 .. 100]

               usage   Sync outlier filter autotune high watermark - maximum percentage of discarded samples  in
                       the update period before filter is loosened by the autotune step value

               default 95

       ptpengine:sync_outlier_filter_autotune_step [FLOAT: 0.010000 .. 10.000000]

               usage   The value the Sync outlier filter threshold is increased or decreased by when auto-tuning

               default 0.100000

       ptpengine:sync_outlier_filter_autotune_minthreshold [FLOAT: 0.010000 .. 10.000000]

               usage   Minimum Sync filter threshold value used when auto-tuning

               default 0.100000

       ptpengine:sync_outlier_filter_autotune_maxthreshold [FLOAT: 0.010000 .. 10.000000]

               usage   Maximum Sync filter threshold value used when auto-tuning

               default 5.000000

       ptpengine:sync_outlier_weight [FLOAT: 0.010000 .. 2.000000]

               usage   Sync outlier weight: if an outlier is detected, this value determines the
                        amount of its deviation from mean that is used to build the standard
                        deviation statistics and influence further outlier detection.
                        When set to 1.0, the outlier is used as is

               default 1.000000

       ptpengine:sync_outlier_filter_stepdetect_enable [BOOLEAN]

               usage   Enable Sync filter step detection (delayMS) to block when certain level exceeded

               default N

       ptpengine:sync_outlier_filter_stepdetect_threshold [INT: 50000 .. 999999999]

               usage   Sync  step  detection  threshold.  Step detection is performed only when delayMS is below
                       this threshold (nanoseconds)

               default 1000000

       ptpengine:sync_outlier_filter_stepdetect_level [INT: 50000 .. 999999999]

               usage   Sync step level. When step detection enabled and operational, delayMS  above  this  level
                       (nanoseconds) is considered a clock step and updates are paused

               default 500000

       ptpengine:sync_outlier_filter_stepdetect_credit [INT: 50 .. 1000]

               usage   Initial  credit  (number  of samples) the Sync step detection filter can block for.  When
                       credit  is  exhausted,  filter  stops  blocking.  Credit  is  gradually   restored   (see
                       ptpengine:sync_outlier_filter_stepdetect_credit_increment)

               default 200

       ptpengine:sync_outlier_filter_stepdetect_credit_increment [INT: 1 .. 100]

               usage   Amount of credit for the Sync step detection filter restored every full sample window

               default 10

       ptpengine:sync_sequence_checking [BOOLEAN]

               usage   When  enabled,  Sync  messages will only be accepted if sequence ID is increasing.  note:
                       This can cause the slave to temporarily lock up if GM restarts before  announce  timeout,
                       so    this    is    limited   to   50   consecutive   sequence   errors.   Alternatively,
                       ptpengine:clock_update_timeout can be used to reset the slave beforehand.

               default N

       ptpengine:clock_update_timeout [INT: 0 .. 3600]

               usage   If set to non-zero, time (seconds) before slave is  reset  back  into  PTP_LISTENING,  if
                       thetre were no clock updates. This is useful for situations where slave is in SLAVE state
                       (receiving Announce) but is not receiving or not accepting Sync messages.

               default 0

       ptpengine:calibration_delay [INT: 0 .. 300]

               usage   Delay  between  moving  to slave state and enabling clock updates (seconds).  This allows
                       mean path delay to stabilise before starting clock updates.  Activated  when  going  into
                       slave state and during slave's GM failover.  0 - not used.

               default 0

       ptpengine:idle_timeout [INT: 10 .. 3600]

               usage   PTP  idle  timeout  (seconds):  if  PTPd  is  in SLAVE state and there have been no clock
                       updates for this amount of time, PTPd releases clock control.

               default 0

       ptpengine:panic_mode [BOOLEAN]

               usage   Enable panic mode: when offset from master is above 1 second, stop updating the clock for
                       a period of time and then step the clock if offset remains above 1 second.

               default N

       ptpengine:panic_mode_duration [INT: 1 .. 60]

               usage   Duration (minutes) of the panic mode period (no clock updates) when offset above 1 second
                       detected.

               default 2

       ptpengine:panic_mode_release_clock [BOOLEAN]

               usage   When entering panic mode, release clock control while panic mode lasts.  If not set,  PTP
                       will  hold clock control during panic mode.  If set together with ntpengine:* configured,
                       this will fail over to NTP.

               default N

       ptpengine:panic_mode_exit_threshold [INT: 0 .. 999999999]

               usage   Do not exit panic mode until offset drops below this value (nanoseconds).  0 = not used.

               default 0

       ptpengine:pid_as_clock_identity [BOOLEAN]

               usage   Use PTPd's process ID as the middle part of  the  PTP  clock  ID  -  useful  for  running
                       multiple instances.

               default N

       ptpengine:ntp_failover [BOOLEAN]

               usage   Fail  over to NTP when PTP time sync not available - requires ntpengine:enabled, but does
                       not require the rest of NTP configuration: will warn instead of failing  over  if  cannot
                       control ntpd.

               default N

       ptpengine:ntp_failover_timeout [INT: 0 .. 1800]

               usage   NTP  failover  timeout in seconds: time between PTP slave going into LISTENING state, and
                       failing over to NTP. 0 = fail over immediately.  This setting controls the time  provider
                       election hold time.

               default 60

       ptpengine:prefer_ntp [BOOLEAN]

               usage   Prefer NTP time synchronisation. Only use PTP when NTP not available.  Could be used when
                       NTP runs with a local GPS receiver or another hardware reference.

               default N

       ptpengine:panic_mode_ntp [BOOLEAN]

               usage   Deprecated as of 2.3.1, but still supported: see ptppengine:panic_mode_release_clock.

               default N

       ptpengine:sigusr2_clears_counters [BOOLEAN]

               usage   Clear counters after dumping all counter values on SIGUSR2.

               default N

       ptpengine:timing_acl_permit [STRING]

               usage   Permit  access  control  list  for  timing  and signaling messages. Format is a series of
                       network prefixes and/or IP addresses separated by commas,  spaces,  tabs  or  semicolons.
                       Accepted  format  is  CIDR  notation  (a.b.c.d/mm),  single IP address (a.b.c.d), or full
                       network/mask  (a.b.c.d/m.m.m.m).  Shortcuts  can  be  used:  172.16/12  is  expanded   to
                       172.16.0.0/12;  192.168/255.255 is expanded to 192.168.0.0/255.255.0.0, etc. The match is
                       performed on the source IP address of the incoming messages. IP  access  lists  are  only
                       supported when using the IP transport.

               default [none]

       ptpengine:timing_acl_deny [STRING]

               usage   Deny access control list for timing and signaling messages. Format is a series of network
                       prefixes  and/or  IP addresses separated by commas, spaces, tabs or semicolons.  Accepted
                       format is CIDR notation (a.b.c.d/mm), single IP address (a.b.c.d), or  full  network/mask
                       (a.b.c.d/m.m.m.m).  Shortcuts  can  be  used:  172.16/12  is  expanded  to 172.16.0.0/12;
                       192.168/255.255 is expanded to 192.168.0.0/255.255.0.0, etc. The match  is  performed  on
                       the  source  IP address of the incoming messages. IP access lists are only supported when
                       using the IP transport.

               default [none]

       ptpengine:management_acl_permit [STRING]

               usage   Permit access control list for  management  messages.  Format  is  a  series  of  network
                       prefixes  and/or  IP addresses separated by commas, spaces, tabs or semicolons.  Accepted
                       format is CIDR notation (a.b.c.d/mm), single IP address (a.b.c.d), or  full  network/mask
                       (a.b.c.d/m.m.m.m).  Shortcuts  can  be  used:  172.16/12  is  expanded  to 172.16.0.0/12;
                       192.168/255.255 is expanded to 192.168.0.0/255.255.0.0, etc. The match  is  performed  on
                       the  source  IP address of the incoming messages. IP access lists are only supported when
                       using the IP transport.

               default [none]

       ptpengine:management_acl_deny [STRING]

               usage   Deny access control list for management messages. Format is a series of network  prefixes
                       and/or  IP addresses separated by commas, spaces, tabs or semicolons.  Accepted format is
                       CIDR  notation  (a.b.c.d/mm),  single  IP  address  (a.b.c.d),   or   full   network/mask
                       (a.b.c.d/m.m.m.m).  Shortcuts  can  be  used:  172.16/12  is  expanded  to 172.16.0.0/12;
                       192.168/255.255 is expanded to 192.168.0.0/255.255.0.0, etc. The match  is  performed  on
                       the  source  IP address of the incoming messages. IP access lists are only supported when
                       using the IP transport.

               default [none]

       ptpengine:timing_acl_order [SELECT]

               options permit-deny deny-permit

               usage   Order in which permit and deny access  lists  are  evaluated  for  timing  and  signaling
                       messages,   the   evaluation   process   is   the   same   as   for  Apache  httpd.  See:
                       http://httpd.apache.org/docs/current/mod/mod_access_compat.html#order

               default deny-permit

       ptpengine:management_acl_order [SELECT]

               options permit-deny deny-permit

               usage   Order in which permit and deny access lists are evaluated for  management  messages,  the
                       evaluation     process     is     the     same     as     for    Apache    httpd.    See:
                       http://httpd.apache.org/docs/current/mod/mod_access_compat.html#order

               default deny-permit

       clock:no_adjust [BOOLEAN]

               usage   Do not adjust the clock.

               default N

       clock:no_reset [BOOLEAN]

               usage   Do not reset the clock - only slew.

               default N

       clock:step_startup_force [BOOLEAN]

               usage   Force clock step on first sync after startup regardless of offset and clock:no_reset

               default N

       clock:step_startup [BOOLEAN]

               usage   Step clock on startup only if offset >= 1 second, ignoring panic mode and clock:no_reset

               default N

       clock:set_rtc_on_step [BOOLEAN]

               usage   Attempt setting the RTC when stepping clock (Linux only  -  FreeBSD  does  this  for  us.
                       WARNING: this will always set the RTC to OS clock time, regardless of time zones, so this
                       assumes  that RTC runs in UTC or otherwise in the same timescale as PTP. True at least on
                       most single-boot x86 Linux systems.

               default N

       clock:drift_handling [SELECT]

               options reset preserve file

               usage   Observed drift handling method between servo restarts:

                           reset       set to zero (not recommended)

                           preserve    use kernel value

                           file        load/save to drift file on startup/shutdown, use kernel value  inbetween.
                                       To specify drift file, use the clock:drift_file setting.

               default preserve

       clock:drift_file [STRING]

               usage   Specify drift file

               default /etc/ptpd2_kernelclock.drift

       clock:leap_seconds_file [STRING]

               usage   Specify  leap  second  file  location  (up  to  date  version  can  be  downloaded  from:
                       http://www.ietf.org/timezones/data/leap-seconds.list). When configured, PTP  master  will
                       use data from this file to announce leap flags and UTC offset, overriding OS information,
                       and  PTP slave will use data from this file as well as information supplied by the GM. If
                       configured, this file is always reloaded on configuration reload  (SIGHUP),  reloaded  on
                       clock  step  and  reloaded  after  a leap second event to ensure the information is up to
                       date.  As  of  ptpd  2.3.1,  the  file  is  bundled  with  ptpd  and  is  installed  into
                       (prefix)/share/ptpd/leap-seconds.list.ddMMMyyyy  where ddMMMyyyy is the leap seconds file
                       expiry date.

               default [none]

       clock:leap_second_pause_period [INT: 5 .. 600]

               usage   Time (seconds) before and after midnight that  clock  updates  should  be  suspended  for
                       during  a  leap  second  event.  The  total duration of the pause is twice the configured
                       duration. Clock updates are suspended when there is a leap second event pending and  time
                       to  midnight  is  less than or equal to this value and resumed no earlier than this value
                       after midnight.  Clock updates are resumed in a  controlled  manner  -  after  a  control
                       message,  such  as  PTP  announce.  This  ensures that the updated UTC offset is received
                       before any further clock updates.

               default 5

       clock:leap_second_notice_period [INT: 3600 .. 86400]

               usage   Time (seconds) before midnight that PTPd  starts  announcing  the  leap  second  if  it's
                       running  as  master.  The  IEEE  1588  standard  suggests 12 hours notice and this is the
                       default, but it may be changed to allow more flexibility.

               default 43200

       clock:leap_second_handling [SELECT]

               options accept ignore step smear

               usage   Clock sync behaviour during leap second events:

                           accept      Inform OS kernel about the leap second  and  let  the  kernel  insert  or
                                       delete the leap second

                           ignore      Do  not  inform the kernel - this ends with a +/-1-second offset which is
                                       then slewed back down

                           step        Do not inform the kernel and step the clock immediately  after  the  leap
                                       second event

                           smear       Gradually introduce an extra offset over a period of time before the leap
                                       second     event,    which    accumulates    to    +/-1    second    (see
                                       clock:leap_second_smear_period). Once the clock stabilises, this  results
                                       in  a clock frequency shift which is taken off after the event.  Once the
                                       leap second event is over, the extra offset is also removed and  time  is
                                       back in line with master time.

               default accept

       clock:leap_second_smear_period [INT: 3600 .. 86400]

               usage   When  clock:leap_second_handling  is  set  to  smear, this setting defines the period (in
                       seconds) before the leap second event, over which the leap  second  offset  is  gradually
                       added.  Example:  when  set  to  24 hours (86400), an extra +/-11.5 microseconds is added
                       every second (11.5 ppm clock frequency offset).

               default 86400

       clock:max_offset_ppm [INT: 500 .. 1000]

               usage   Maximum absolute frequency shift which can be applied  to  the  clock  servo         when
                       slewing  the  clock.  Expressed  in  parts  per  million (1 ppm = shift of       1 us per
                       second. Values above 512 will use the tick duration correction       to allow even faster
                       slewing. Default maximum is 512 without using tick.

               default 500

       servo:delayfilter_stiffness [INT]

               usage   Mean Path Delay filter stiffness.

               default 6

       servo:kp [FLOAT: min: 0.000001 ]

               usage   Clock servo PI controller proportional component gain (kP).

               default 0.100000

       servo:ki [FLOAT: min: 0.000001 ]

               usage   Clock servo PI controller integral component gain (kI).

               default 0.001000

       servo:dt_method [SELECT]

               options none constant measured

               usage   How servo update interval (delta t) is calculated:

                           none        servo not corrected for update interval (dt always 1),

                           constant    constant value (target servo update rate) - sync interval for PTP,

                           measured    servo measures how often it's updated and uses this interval.

               default constant

       servo:dt_max [FLOAT: 1.500000 .. 100.000000]

               usage   Maximum servo update interval  (delta  t)  when  using  measured  servo  update  interval
                       (servo:dt_method = measured), specified as sync interval multiplier

               default 5.000000

       servo:stability_detection [BOOLEAN]

               usage   Enable  clock  synchronisation  servo stability detection (based on standard deviation of
                       the observed drift value) - drift will be saved to drift file /  cached  when  considered
                       stable, also clock stability status will be logged.

               default N

       servo:stability_threshold [FLOAT: 1.000000 .. 10000.000000]

               usage   Specify  the  observed drift standard deviation threshold in parts per billion (ppb) - if
                       stanard deviation is within the threshold, servo is considered stable.

               default 5.000000

       servo:stability_period [INT: 1 .. 100]

               usage   Specify for how many statistics update intervals the observed  drift  standard  deviation
                       has to stay within threshold to be considered stable.

               default 3

       servo:stability_timeout [INT: 1 .. 60]

               usage   Specify  after  how  many  minutes  without  stabilisation  servo is considered unstable.
                       Assists with logging servo stability information and  allows  one  to  preserve  observed
                       drift if servo cannot stabilise.

               default 10

       servo:max_delay [INT: 0 .. 999999999]

               usage   Do  not  accept  master  to  slave delay (delayMS - from Sync message) or slave to master
                       delay (delaySM - from Delay Response message) if greater than this value (nanoseconds). 0
                       = not used.

               default 0

       servo:max_delay_max_rejected [INT: min: 0 ]

               usage   Maximum  number  of  consecutive  rejected  delay  measurements  exceeding  the  maxDelay
                       threshold (servo:max_delay), before slave is reset. 0 = not checked.

               default 0

       servo:max_delay_stable_only [BOOLEAN]

               usage   If servo:max_delay is set, perform the check only if clock servo has stabilised.

               default N

       servo:max_offset [INT: 0 .. 999999999]

               usage   Do  not reset the clock if offset from master is greater than this value (nanoseconds). 0
                       = not used.

               default 0

       global:enable_snmp [BOOLEAN]

               usage   Enable SNMP agent (if compiled with PTPD_SNMP).

               default N

       global:use_syslog [BOOLEAN]

               usage   Send log messages to syslog. Disabling this sends all messages to  stdout  (or  specified
                       log file).

               default N

       global:lock_file [STRING]

               usage   Lock file location

               default [none]

       global:auto_lockfile [BOOLEAN]

               usage   Use mode specific and interface specific lock file (overrides global:lock_file).

               default N

       global:lock_directory [STRING]

               usage   Lock file directory: used with automatic mode-specific lock files, also used when no lock
                       file is specified. When lock file is specified, it's expected to be an absolute path.

               default /var/run

       global:ignore_lock [BOOLEAN]

               usage   Skip lock file checking and locking.

               default N

       global:quality_file [STRING]

               usage   File used to record data about sync packets. Enables recording when set.

               default [none]

       global:quality_file_max_size [INT: min: 0 ]

               usage   Maximum sync packet record file size (in kB) - file will be truncated if size exceeds the
                       limit. 0 - no limit.

               default 0

       global:quality_file_max_files [INT: 0 .. 100]

               usage   Enable log rotation of the sync packet record file up to n files.  0 - do not rotate.

               default 0

       global:quality_file_truncate [BOOLEAN]

               usage   Truncate the sync packet record file every time it is (re) opened: startup and SIGHUP.

               default N

       global:status_file [STRING]

               usage   File used to log ptpd2 status information.

               default /var/run/ptpd2.status

       global:log_status [BOOLEAN]

               usage   Enable / disable writing status information to file.

               default N

       global:status_update_interval [INT: 1 .. 30]

               usage   Status file update interval in seconds.

               default 1

       global:log_file [STRING]

               usage   Specify log file path (event log). Setting this enables logging to file.

               default [none]

       global:log_file_max_size [INT: min: 0 ]

               usage   Maximum log file size (in kB) - log file will be truncated if size exceeds the limit. 0 -
                       no limit.

               default 0

       global:log_file_max_files [INT: 0 .. 100]

               usage   Enable log rotation of the sync packet record file up to n files.  0 - do not rotate.

               default 0

       global:log_file_truncate [BOOLEAN]

               usage   Truncate the log file every time it is (re) opened: startup and SIGHUP.

               default N

       global:log_level [SELECT]

               options LOG_ERR LOG_WARNING LOG_NOTICE LOG_INFO LOG_ALL

               usage   Specify log level (only messages at this priority or higher will be logged).  The minimal
                       level is LOG_ERR. LOG_ALL enables debug output if compiled with RUNTIME_DEBUG.

               default LOG_ALL

       global:statistics_file [STRING]

               usage   Specify  statistics log file path. Setting this enables logging of statistics, but can be
                       overridden with global:log_statistics.

               default [none]

       global:statistics_log_interval [INT: min: 0 ]

               usage   Log timing statistics every n seconds for Sync and Delay messages (0 - log all).

               default 0

       global:statistics_file_max_size [INT: min: 0 ]

               usage   Maximum statistics log file size (in kB) - log file will be truncated if size exceeds the
                       limit. 0 - no limit.

               default 0

       global:statistics_file_max_files [INT: 0 .. 100]

               usage   Enable log rotation of the statistics file up to n files. 0 - do not rotate.

               default 0

       global:statistics_file_truncate [BOOLEAN]

               usage   Truncate the statistics file every time it is (re) opened: startup and SIGHUP.

               default N

       global:dump_packets [BOOLEAN]

               usage   Dump the contents of every PTP packet.

               default N

       global:verbose_foreground [BOOLEAN]

               usage   Run in foreground with statistics and all messages logged to stdout. Overrides  log  file
                       and statistics file settings and disables syslog.

               default N

       global:foreground [BOOLEAN]

               usage   Run in foreground - ignored when global:verbose_foreground is set.

               default N

       global:log_statistics [BOOLEAN]

               usage   Log  timing  statistics  for every PTP packet received. Output is in CSV format and field
                       headers are always printed when starting or refreshing the statistics log.

               default N

       global:statistics_timestamp_format [SELECT]

               options datetime unix both

               usage   Timestamp format used when  logging  timing  statistics  (when  global:log_statistics  is
                       enabled):

                           datetime    Formatted date and time: YYYY-MM-DD hh:mm:ss.uuuuuu

                           unix        Unix timestamp with nanoseconds: s.ns

                           both        Formatted  date and time followed by unix timestamp (adds one extra field
                                       to the log)

               default datetime

       global:periodic_updates [BOOLEAN]

               usage   Log     a     status     update     every      time      statistics      are      updated
                       (global:statistics_update_interval).   This  update  is  written  to the main log target.
                       Status updates are logged even if ptpd is configured without support for statistics.

               default N

       global:cpuaffinity_cpucore [INT: -1 .. 255]

               usage   Bind ptpd2 process to a selected CPU core number. 0 = first CPU core, etc. -1  =  do  not
                       bind to a single core.

               default 0

       global:statistics_update_interval [INT: 1 .. 60]

               usage   Clock  synchronisation  statistics  update  interval  in seconds. Also controls how often
                       periodic status information is logged (when using global:statistics_update_interval).

               default 30

       global:timingdomain_election_delay [INT: 0 .. 3600 ]

               usage   Delay (seconds) before releasing a time service (NTP or PTP) and electing a  new  one  to
                       control a clock. 0 = elect immediately

               default 15

       ntpengine:enabled [BOOLEAN]

               usage   Enable NTPd integration

               default N

       ntpengine:control_enabled [BOOLEAN]

               usage   Enable control over local NTPd daemon

               default N

       ntpengine:check_interval [INT: 5 .. 600]

               usage   NTP control check interval in seconds

               default 15

       ntpengine:key_id [INT: 0 .. 65535]

               usage   NTP key number - must be configured as a trusted control key in ntp.conf, and be non-zero
                       for the ntpengine:control_enabled setting to take effect.

               default 0

       ntpengine:key [STRING]

               usage   NTP  key  (plain text, max. 20 characters) - must match the key configured in ntpd's keys
                       file, and must be non-zero for the ntpengine:control_enabled setting to take effect.

               default [none]

BUGS

       Configuration  file  support  has  only  been  introduced  in  version  2.3.  There  may  still  be  some
       inconsistencies  in  the way some settings are parsed and while order should not make any difference, for
       some complex behaviours it may still be the case.

       Please    report    any    bugs    using    the    bug    tracker    on     the     SourceForge     page:
       http://sourceforge.net/projects/ptpd/

SEE ALSO

       ptpd2(8)

AUTHORS

       Steven Kreuzer <skreuzer@freebsd.org>

       Gael Mace <gael_mace@users.sourceforge.net>

       George Neville-Neil <gnn@freebsd.org>

       Wojciech Owczarek <wojciech@owczarek.co.uk>

       Alexandre Van Kempen

       ptpd2.conf(5) man page first written by Wojciech Owczarek for ptpd 2.3.0 in November 2013

version 2.3.1                                      June, 2015                                      ptpd2.conf(5)