Provided by: ptpd_2.3.1-debian1-3_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