FreeBSD Manual Pages
ptpd2.conf(5) PTPd config file ptpd2.conf(5) 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 op- tional. 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. COMMAND-LINE PRIORITY Any setting passed as a command line parameter will always take prior- ity over the configuration file, so once ptpd is running, those set- tings 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 variables User-defined variables USER-DEFINED VARIABLES To allow for easier management and automated generation of configura- tion, PTPd supports user variables, which can be defined in the config- uration file or in command line. They are defined as vari- ables:[name]=[value], or if using .ini style format, in the [variables] section. Once defined, a variable can be referred to in the remaining configuration settings as @name@, and is substituted with the value of the variable Example: variables:instance=server15 global:status_file=/var/run/ptpd2.@instance@.status global:log_file=/var/run/ptpd2.@instance@.status Note: for the same effect, ptpd can be run from command line, such as --config=/path/to/file --variables:instance=server15 BUILT_IN VARIABLES PTPd includes suppport for built-in variables, automatically defined. The following variables are automatically substituted: @pid@ - current PTPd process ID @hostname@ - current host name CONFIGURATION TEMPLATES AND TEMPLATE FILES As of version 2.3.1.1, ptpd enables the user to minimise the configura- tion effort for common scenarios, using built-in templates and template files. A template is a named set of pre-defined settings whic are prepended before any other settings, so user can still overwrite set- tings provided by the template. To use this feature, set global:con- fig_templates=[name],[name],... in the configuration file, or run ptpd with --global:config_templates=[name],[name],.... Multiple templates can be specified, separated by comma, space or tab; they are applied in the order they are provided, so template settings override any overlap- ping settings from previous templates specified. Templates can include user-defined variables. A number of template files can also be supplied with the global:tem- plate_files setting (comma, space or tab separated lis of file paths). The template files will be processed in the order they are provided in, so for overlapping settings, the last template applied overrides set- tings applied by any previous templates. PTPd will also try to load a default template file on startup: templates.conf from the default data directory: /usr/local/share/ptpd/templates.conf The template file is formatted in .ini style - each template is a sec- tion defined as [template-name], followed by a number of settings spec- ified as section:setting. Example: [my-template] global:verbose_foreground=Y ptpengine:preset=slaveonly To see the list of available built-in templates, run ptpd with -T or --show-templates CONFIGURATION VARIABLES ptpengine:interface [STRING] usage Network interface to use - eth0, igb0 etc. (required). See also ptpengine:backup_interface. 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: pt- pengine:slave_only, clock_no_adjust and pt- pengine: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 trans- port requires building with libpcap and is not sup- ported on Solaris as of 2.3.1, and cannot be enabled on those systems unless ptpd is compiled with --enable-ex- perimental-options. default ipv4 ptpengine:dot1as [BOOLEAN] usage Enable IEEE 802.1AS / AVB compatibility (transportSpe- cific 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 re- sponse 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:uni- cast_negotiation) and master or slave role (see: ptpengine:unicast_destina- tions) default multicast ptpengine:disabled [BOOLEAN] usage Disable PTP port. Causes the PTP state machine to stay in PTP_DISABLED state indefinitely, until it is re-en- abled via configuration change or ENABLE_PORT manage- ment message. default N ptpengine:unicast_negotiation [BOOLEAN] usage Enable unicast negotiation support using signaling mes- sages - 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 uni- cast messages is granted by a master, or requested by a slave when unicast negotiation is used (ptpengine:uni- cast_negotiation). When using PTPd with other PTP im- plementations, PTPd will never refuse to grant a mes- sage 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 mas- ters. Only effective for masteronly preset - all An- nounce messages will be ignored and the cock will tran- sition directly into MASTER state and remain an active master. This behaviour is required for Telecom profile operation. default N ptpengine:unicast_any_master [BOOLEAN] usage When using unicast negotiation (slave), accept PTP mes- sages from any grandmaster. By default, only messages from acceptable masters (ptpengine:unicast_destina- tions) are accepted, and only if transmission was granted by the GM. This setting can be used when mixing GMs supporting G.8265.1 and manual unicast (no negotia- tion), or to assist with interoperability issues where signaling messages and timing messages come from dif- ferent port identities. default N ptpengine:unicast_port_mask [INT: 0 .. 65535 (0xFFFF)] usage PTP port number wildcard mask (16-bit) applied onto port identities when running unicast negotiation: al- lows multiple port identities (with the same clock ID) to be accepted as coming from the same port. This op- tion can be used as a workaround where a node sends signaling messages and timing messages with different port identities. NOTE: This can also be entered in hexadecimal notation (0xNNNN). default 0 ptpengine:disable_udp_checksums [BOOLEAN] usage Disable UDP checksum validation on UDP sockets (Linux only). Workaround for situations where a node (like Transparent Clock) does not rewrite checksums. Enabled by default. default Y ptpengine:use_libpcap [BOOLEAN] usage Use libpcap for sending and receiving traffic (automat- ically 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 --en- able-experimental-options default N ptpengine:delay_mechanism [SELECT] options E2E P2P DELAY_DISABLED usage Delay detection mechanism used - use DELAY_DISABLED for syntonisation only (no synchronisation). E2E uses Delay Request messages, P2P uses Peer Delay Request messages. 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 num- ber. 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:port_description [STRING: 64 characters max] usage User description of the PTP port - this value is re- turned in response to USER_DESCRIPTION management mes- sage and CLOCK_DESCRIPTION management message. default [ptpd] 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 laten- cies, 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 currentUt- cOffsetValid 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 us- ing unicast negotiation (ptpengine:unicast_negotia- tion), for slaves this is the initial (minimum) inter- val requested and for masters this is the minimum in- terval 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_nego- tiation), this is the maximum announce interval granted by a master, and the maximum interval a slave will at- tempt 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 re- setting. 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 re- quested 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_nego- tiation), 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 us- ing unicast negotiation (ptpengine:unicast_negotiation) default Y ptpengine:log_delayreq_interval_initial [INT: -7 .. 7] usage Delay request interval used before receiving first de- lay 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_nego- tiation), for slaves this is the initial (minimum) in- terval 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_nego- tiation), 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 (pt- pengine:unicast_negotiation), this is the initial (min- imum) 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_nego- tiation), this is the maximum peer delay request inter- val 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 spe- cific 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 Mas- ter 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 be- fore 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 (pt- pengine: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 multiple unicast destinations to allow for each master to be in a sepa- rate domain, such as with Telecom Profile. The number of entries should match the number of unicast destina- tions, 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 multiple 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 255 (lowest), so that the uncon- figurest entries do not pre-empt the configured en- tries. 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_mech- anism=P2P), a peer unicast destination must be config- ured 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:man- agement_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 pe- riodically 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 (ig- nored and set to 1 for peer to peer messages). default 64 ptpengine:ip_dscp [INT: 0 .. 63] usage DiffServ CodepPoint for packet prioritisation (deci- mal). 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 in- fluenced 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 fil- ter: 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 in- fluenced 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 'fil- ter', 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 be- low 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 de- tected, determines the amount of its deviation from mean that is used to build the standard de- viation statistics and influence further outlier detec- tion. 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 per- formed 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 oper- ational, delaySM above this level (nanoseconds) is con- sidered 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 de- tection filter can block for. When credit is ex- hausted, filter stops blocking. Credit is gradually re- stored (see ptpengine:delay_outlier_filter_stepde- tect_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', out- liers 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 be- low 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 in- creased 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-tun- ing default 0.100000 ptpengine:sync_outlier_filter_autotune_maxthreshold [FLOAT: 0.010000 .. 10.000000] usage Maximum Sync filter threshold value used when auto-tun- ing 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 de- tection. 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 per- formed 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 opera- tional, delayMS above this level (nanoseconds) is con- sidered 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 detec- tion filter can block for. When credit is exhausted, filter stops blocking. Credit is gradually restored (see ptpengine:sync_outlier_filter_stepde- tect_credit_increment) default 200 ptpengine:sync_outlier_filter_stepdetect_credit_increment [INT: 1 .. 100] usage Amount of credit for the Sync step detection filter re- stored 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 an- nounce timeout, so this is limited to 50 consecutive sequence errors. Alternatively, ptpengine:clock_up- date_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 re- set 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 receiv- ing 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 sta- bilise 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 amout of time, PTPd releases clock control. default 0 ptpengine:offset_alarm_threshold [INT: 0 .. 999999999] usage PTP Slave Offset from Master alarm threshold (nanosec- onds) - absolute value. When set to non-zero, an alarm is raised when PTP slave's offset from master crosses this value. The alarm is logged, indicated in the sta- tus file, and SNMP traps are sent if SNMP is enabled. Similar notifications are created when offset returns within the threshold. When zet to 0, offset is not checked against the threshold. 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 sec- ond. 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 con- trol during panic mode. If set together with nt- pengine:* 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 - re- quires 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 lo- cal GPS receiver or another hardware reference. default N ptpengine:panic_mode_ntp [BOOLEAN] usage Deprecated as of 2.3.1, but still supported: see ptp- pengine:panic_mode_release_clock. default N ptpengine:sigusr2_clears_counters [BOOLEAN] usage Clear counters after dumping all counter values on SI- GUSR2. 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 semi- colons. 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 mes- sages. Format is a series of network prefixes and/or IP addresses separated by commas, spaces, tabs or semi- colons. 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 ad- dresses separated by commas, spaces, tabs or semi- colons. 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. For- mat is a series of network prefixes and/or IP addresses separated by commas, spaces, tabs or semicolons. Ac- cepted 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 evalu- ated for timing and signaling messages, the evaluation process is the same as for Apache httpd. See: http://httpd.apache.org/docs/current/mod/mod_ac- cess_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 evalu- ated for management messages, the evaluation process is the same as for Apache httpd. See: http://httpd.apache.org/docs/current/mod/mod_ac- cess_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, ig- noring 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 sin- gle-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 in- between. 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/time- zones/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 in- formation 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 in- stalled into (prefix)/share/ptpd/leap-seconds.list.ddM- MMyyyy 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 up- dates 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 mid- night is less than or equal to this value and resumed no earlier than this value after midnight. Clock up- dates are resumed in a controlled manner - after a con- trol 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 an- nouncing 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 flexi- bility. 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_pe- riod). 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. Ex- pressed in parts per million (1 ppm = shift of 1 us per second. Values above 512 will use the tick dura- tion correction to allow even faster slewing. De- fault 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 mea- sured servo update interval (servo:dt_method = mea- sured), 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 to preserve ob- served 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 measure- ments exceeding the maxDelay threshold (servo:max_de- lay), 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:config_templates [STRING] usage Comma, space or tab-separated list of template names to be applied to the configuration (see CONFIGURATION TEM- PLATES AND TEMPLATE FILES section). Templates are ap- plied in the order they are specified, so any overlap- ping settings from one template are overridden with settings from the following template(s). PTPd provides some built-in templates - see the templates section above; to see the built-in templates, run ptpd with -T or --show-templates. default [none] global:template_files [STRING] usage Comma, space or tab-separated list of template file paths to be loaded (see CONFIGURATION TEMPLATES AND TEMPLATE FILES section). Template files are also loaded in the order they are provided, so templates in one file can be extended by templates in the next file(s); any overlapping settings are overridden by following files. PTPd will not exit when one or more template files cannot be opened. PTPd will always try to load /usr/local/share/ptpd/templates.conf on startup. default [none] global:enable_alarms [BOOLEAN] usage Enable support for alarm and event notifications (see ALARMS section). Alarms enable self-diagnosing of com- mon error conditions and events such as master change or time properties change. When SNMP support is enabled (global:enable_snmp) and SNMP trap support is enabled (global:enable_snmp_traps), alarms trigger SNMP traps. default N global:alarm_timeout [INT: 0 .. 3600] usage Mininmum alarm age (seconds) - minimal time between alarm set and clear notifications. The condition can clear while alarm lasts, but notification (log or SNMP) will only be triggered after the timeout. This option prevents from alarms flapping (repeated set and clear notifications). default 30 global:alarm_initial_delay [INT: 0 .. 3600] usage Delay the start of alarm processing (seconds) after ptpd startup. This option allows to avoid unnecessary alarms before PTPd starts synchronising, which should happen after a few seconds, but could take longer in cases where multicast has to converge upstream, or when there is a mismatch in message intervals and unicast signaling has to negotiate them down (or up) to accept- able values. This also prevents from alerting on offset from master too soon after startup (see ptpengine:off- set_alarm_threshold) - delay can be increased to cover the initial sync period, however this is not recom- mended as an offset alarm after startup can indicate a slave cold start. default 10 global:enable_snmp [BOOLEAN] usage Enable SNMP agent (if compiled with PTPD_SNMP). default N global:enable_snmp_traps [BOOLEAN] usage Enable reporting of alarms and events as SNMP traps. Requires PTPd to be compiled with PTPD_SNMP, and re- quires alarms to be enabled (global:enable_alarms) default N global:use_syslog [BOOLEAN] usage Send log messages to syslog. Disabling this sends all messages to stdout (or speficied 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 ab- solute 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 trun- cated 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 higer will be logged). The minimal level is LOG_ERR. LOG_ALL enables debug output if compiled with RUN- TIME_DEBUG. default LOG_ALL global:statistics_file [STRING] usage Specify statistics log file path. Setting this enables logging of statistics, but can be overriden with global:log_statistics. default [none] global:statistics_log_interval [INT: min: 0 ] usage Log timing statistics every n seconds for Sync and De- lay 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_fore- ground 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 infor- mation is logged (when using global:statistics_up- date_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 con- trol key in ntp.conf, and be non-zero for the nt- pengine: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.2 October, 2015 ptpd2.conf(5)
NAME | CONFIGURATION FILE FORMAT | RELOADING CONFIGURATION | COMMAND-LINE PRIORITY | CONFIGURATION SECTIONS | USER-DEFINED VARIABLES | BUILT_IN VARIABLES | CONFIGURATION TEMPLATES AND TEMPLATE FILES | CONFIGURATION VARIABLES | BUGS | SEE ALSO | AUTHORS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ptpd2.conf&sektion=5&manpath=FreeBSD+Ports+15.0>
