; ======================================== ; PTPDv2 version 2.3.2 default configuration ; ======================================== ; NOTE: the following settings are affected by ptpengine:preset selection: ; ptpengine:slave_only ; clock:no_adjust ; ptpengine:clock_class - allowed range and default value ; To see all preset settings, run ptpd2 -H (--long-help) ; Network interface to use - eth0, igb0 etc. (required). ptpengine:interface = enp1s0 ; 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. ; ptpengine:backup_interface = ; PTP engine preset: ; none = Defaults, no clock class restrictions ; 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) ; slaveonly = Slave only (clock class 255 only) ; ; Options: none masteronly masterslave slaveonly ptpengine:preset = masteronly ; Transport type for PTP packets. Ethernet transport requires libpcap support. ; Options: ipv4 ethernet ptpengine:transport = ipv4 ; Enable TransportSpecific field compatibility with 802.1AS / AVB (requires Ethernet transport) ptpengine:dot1as = N ; Disable PTP port. Causes the PTP state machine to stay in PTP_DISABLED state indefinitely, ; until it is re-enabled via configuration change or ENABLE_PORT management message. ptpengine:disabled = N ; IP transmission mode (requires IP transport) - hybrid mode uses ; multicast for sync and announce, and unicast for delay request and ; response; unicast mode uses unicast for all transmission. ; When unicast mode is selected, destination IP(s) may need to be configured ; (ptpengine:unicast_destinations). ; Options: multicast unicast hybrid ptpengine:ip_mode = multicast ; Enable unicast negotiation support using signaling messages ; ptpengine:unicast_negotiation = N ; When using unicast negotiation (slave), accept PTP messages from any master. ; By default, only messages from acceptable masters (ptpengine:unicast_destinations) ; are accepted, and only if transmission was granted by the master ; ptpengine:unicast_any_master = N ; PTP port number wildcard mask applied onto port identities when running ; unicast negotiation: allows multiple port identities to be accepted as one. ; This option can be used as a workaround where a node sends signaling messages and ; timing messages with different port identities ptpengine:unicast_port_mask = 0 ; Disable Best Master Clock Algorithm for unicast masters: ; Only effective for masteronly preset - all Announce messages ; will be ignored and clock will transition directly into MASTER state. ; ptpengine:disable_bmca = N ; When unicast negotiation enabled on a master clock, ; reply to transmission requests also in LISTENING state. ptpengine:unicast_negotiation_listening = N ; Use libpcap for sending and receiving traffic (automatically enabled ; in Ethernet mode). ptpengine:use_libpcap = N ; Disable UDP checksum validation on UDP sockets (Linux only). ; Workaround for situations where a node (like Transparent Clock). ; does not rewrite checksums ; ptpengine:disable_udp_checksums = Y ; Delay detection mode used - use DELAY_DISABLED for syntonisation only ; (no full synchronisation). ; Options: E2E P2P DELAY_DISABLED ptpengine:delay_mechanism = E2E ; PTP domain number. ptpengine:domain = 0 ; 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. ptpengine:port_number = 1 ; Port description (returned in the userDescription field of PORT_DESCRIPTION management message and USER_DESCRIPTION management message) - maximum 64 characters ptpengine:port_description = ptpd ; Usability extension: if enabled, a slave-only clock will accept ; masters from any domain, while preferring the configured domain, ; and preferring lower domain number. ; NOTE: this behaviour is not part of the standard. ptpengine:any_domain = N ; Slave only mode (sets clock class to 255, overriding value from preset). ptpengine:slave_only = N ; Specify latency correction (nanoseconds) for incoming packets. ptpengine:inbound_latency = 0 ; Specify latency correction (nanoseconds) for outgoing packets. ptpengine:outbound_latency = 0 ; Apply an arbitrary shift (nanoseconds) to offset from master when ; in slave state. Value can be positive or negative - useful for ; correcting for 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. ptpengine:offset_shift = 0 ; 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. ptpengine:always_respect_utc_offset = Y ; Compatibility extension to BMC algorithm: when enabled, ; BMC for both master and save clocks will prefer masters ; nannouncing currrentUtcOffsetValid as TRUE. ; NOTE: this behaviour is not part of the standard. ptpengine:prefer_utc_offset_valid = N ; Compatibility option: when enabled, ptpd2 will ignore ; Announce messages from masters announcing currentUtcOffsetValid ; as FALSE. ; NOTE: this behaviour is not part of the standard. ptpengine:require_utc_offset_valid = N ; Time (seconds) unicast messages are requested for by slaves ; when using unicast negotiation, and maximum time unicast message ; transmission is granted to slaves by masters ; ptpengine:unicast_grant_duration = 300 ; PTP announce message interval in master state. When using unicast negotiation, for ; slaves this is the minimum interval requested, and for masters ; this is the only interval granted. ; (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.) ptpengine:log_announce_interval = 1 ; Maximum Announce message interval requested by slaves when using unicast negotiation, ; (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.) ptpengine:log_announce_interval_max = 5 ; PTP announce receipt timeout announced in master state. ptpengine:announce_receipt_timeout = 6 ; 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. ptpengine:announce_receipt_grace_period = 0 ; PTP sync message interval in master state. When using unicast negotiation, for ; slaves this is the minimum interval requested, and for masters ; this is the only interval granted. ; (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.) ptpengine:log_sync_interval = 0 ; Maximum Sync message interval requested by slaves when using unicast negotiation, ; (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.) ptpengine:log_sync_interval_max = 5 ; Override the Delay Request interval announced by best master. ptpengine:log_delayreq_override = N ; Automatically override the Delay Request interval ; if the announced value is 127 (0X7F), such as in ; unicast messages (unless using unicast negotiation) ptpengine:log_delayreq_auto = Y ; Delay request interval used before receiving first delay response ; (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.) ptpengine:log_delayreq_interval_initial = 0 ; Minimum delay request interval announced when in master state, ; in slave state overrides the master interval, ; required in hybrid mode. When using unicast negotiation, for ; slaves this is the 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.) ptpengine:log_delayreq_interval = 0 ; Maximum Delay Response interval requested by slaves when using unicast negotiation, ; (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.) ptpengine:log_delayreq_interval_max = 5 ; Minimum peer delay request message interval in peer to peer delay mode. ; When using unicast negotiation, this is the minimum interval requested, ; and the only interval granted. ; (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.) ptpengine:log_peer_delayreq_interval = 1 ; Maximum Peer Delay Response interval requested by slaves when using unicast negotiation, ; (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.) ptpengine:log_peer_delayreq_interval_max = 5 ; Foreign master record size (Maximum number of foreign masters). ptpengine:foreignrecord_capacity = 5 ; Specify Allan variance announced in master state. ptpengine:ptp_allan_variance = 65535 ; Clock accuracy range announced in master state. ; 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 ptpengine:ptp_clock_accuracy = ACC_UNKNOWN ; Underlying time source UTC offset announced in master state. ptpengine:utc_offset = 0 ; Underlying time source UTC offset validity announced in master state. ptpengine:utc_offset_valid = N ; Underlying time source time traceability announced in master state. ptpengine:time_traceable = N ; Underlying time source frequency traceability announced in master state. ptpengine:frequency_traceable = N ; 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. ; Options: PTP ARB ptpengine:ptp_timescale = PTP ; Time source announced in master state. ; Options: ATOMIC_CLOCK GPS TERRESTRIAL_RADIO PTP NTP HAND_SET OTHER INTERNAL_OSCILLATOR ptpengine:ptp_timesource = NTP ; 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. ptpengine:clock_class = 0 ; Priority 1 announced in master state,used for Best Master ; Clock selection. ptpengine:priority1 = 128 ; Priority 2 announced in master state, used for Best Master ; Clock selection. ptpengine:priority2 = 128 ; Number of consecutive resets to LISTENING before full network reset ; ptpengine:max_listen = 5 ; Specify unicast slave addresses for unicast master operation, or unicast ; master addresses for slave operation. Format is similar to an ACL: comma, ; tab or space-separated IPv4 unicast addresses, one or more. For a slave, ; when unicast negotiation is used, setting this is mandatory. ptpengine:unicast_destinations = ; 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) ptpengine:unicast_domains = ; 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 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) ptpengine:unicast_local_preference = ; Specify peer unicast adress for P2P unicast. Mandatory when ; running unicast mode and P2P delay mode. ptpengine:unicast_peer_destination = ; Enable handling of PTP management messages. ptpengine:management_enable = Y ; Accept SET and COMMAND management messages. ptpengine:management_set_enable = N ; Send explicit IGMP joins between engine resets and periodically ; in master state. ptpengine:igmp_refresh = Y ; 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. ptpengine:master_igmp_refresh_interval = 60 ; Multicast time to live for multicast PTP packets (ignored and set to 1 ; for peer to peer messages). ptpengine:multicast_ttl = 64 ; DiffServ CodepPoint for packet prioritisation (decimal). When set to zero, ; this option is not used. Use 46 for Expedited Forwarding (0x2e). ptpengine:ip_dscp = 0 ; Enable statistical filter for Sync messages. ptpengine:sync_stat_filter_enable = N ; Type of filter used for Sync message filtering ; Options: none mean min max absmin absmax median ptpengine:sync_stat_filter_type = min ; Number of samples used for the Sync statistical filter ptpengine:sync_stat_filter_window = 4 ; Sample window type used for Sync message statistical filter. Delay Response outlier filter action. ; Sliding window is continuous, interval passes every n-th sample only. ; Options: sliding interval ptpengine:sync_stat_filter_window_type = sliding ; Enable statistical filter for Delay messages. ptpengine:delay_stat_filter_enable = N ; Type of filter used for Delay message statistical filter ; Options: none mean min max absmin absmax median ptpengine:delay_stat_filter_type = min ; Number of samples used for the Delay statistical filter ptpengine:delay_stat_filter_window = 4 ; Sample window type used for Delay message statistical filter ; Sliding window is continuous, interval passes every n-th sample only ; Options: sliding interval ptpengine:delay_stat_filter_window_type = sliding ; Enable outlier filter for the Delay Response component in slave state ptpengine:delay_outlier_filter_enable = N ; Delay Response outlier filter action. If set to 'filter', outliers are ; replaced with moving average. ; Options: discard filter ptpengine:delay_outlier_filter_action = discard ; Number of samples in the Delay Response outlier filter buffer ptpengine:delay_outlier_filter_capacity = 20 ; 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. ; When autotune enabled, this is the starting threshold. ptpengine:delay_outlier_filter_threshold = 1.000000 ; Always run the Delay Response outlier filter, even if clock is being slewed at maximum rate ptpengine:delay_outlier_filter_always_filter = N ; Enable automatic threshold control for Delay Response outlier filter. ptpengine:delay_outlier_filter_autotune_enable = Y ; 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. ptpengine:delay_outlier_filter_autotune_minpercent = 20 ; 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. ptpengine:delay_outlier_filter_autotune_maxpercent = 95 ; The value the Delay Response outlier filter threshold is increased ; or decreased by when auto-tuning. ptpengine:delay_outlier_autotune_step = 0.100000 ; Minimum Delay Response filter threshold value used when auto-tuning ptpengine:delay_outlier_filter_autotune_minthreshold = 0.100000 ; Maximum Delay Response filter threshold value used when auto-tuning ptpengine:delay_outlier_filter_autotune_maxthreshold = 5.000000 ; Enable Delay filter step detection (delaySM) to block when certain level exceeded ptpengine:delay_outlier_filter_stepdetect_enable = N ; Delay Response step detection threshold. Step detection is performed ; only when delaySM is below this threshold (nanoseconds) ptpengine:delay_outlier_filter_stepdetect_threshold = 1000000 ; Delay Response step level. When step detection enabled and operational, ; delaySM above this level (nanosecond) is considered a clock step and updates are paused ptpengine:delay_outlier_filter_stepdetect_level = 500000 ; Initial credit (number of samples) the Delay step detection filter can block for ; When credit is exhausted, filter stops blocking. Credit is gradually restored ptpengine:delay_outlier_filter_stepdetect_credit = 200 ; Amount of credit for the Delay step detection filter restored every full sample window ptpengine:delay_outlier_filter_stepdetect_credit_increment = 10 ; 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. ptpengine:delay_outlier_weight = 1.000000 ; Enable outlier filter for the Sync component in slave state. ptpengine:sync_outlier_filter_enable = N ; Sync outlier filter action. If set to 'filter', outliers are replaced ; with moving average. ; Options: discard filter ptpengine:sync_outlier_filter_action = discard ; Number of samples in the Sync outlier filter buffer. ptpengine:sync_outlier_filter_capacity = 20 ; 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. ptpengine:sync_outlier_filter_threshold = 1.000000 ; Always run the Sync outlier filter, even if clock is being slewed at maximum rate ptpengine:sync_outlier_filter_always_filter = N ; Enable automatic threshold control for Sync outlier filter. ptpengine:sync_outlier_filter_autotune_enable = Y ; Sync outlier filter autotune low watermark - minimum percentage ; of discarded samples in the update period before filter is tightened ; by the autotune step value. ptpengine:sync_outlier_filter_autotune_minpercent = 20 ; Sync outlier filter autotune high watermark - maximum percentage ; of discarded samples in the update period before filter is loosened ; by the autotune step value. ptpengine:sync_outlier_filter_autotune_maxpercent = 95 ; Value the Sync outlier filter threshold is increased ; or decreased by when auto-tuning. ptpengine:sync_outlier_autotune_step = 0.100000 ; Minimum Sync outlier filter threshold value used when auto-tuning ptpengine:sync_outlier_filter_autotune_minthreshold = 0.100000 ; Maximum Sync outlier filter threshold value used when auto-tuning ptpengine:sync_outlier_filter_autotune_maxthreshold = 5.000000 ; Enable Sync filter step detection (delayMS) to block when certain level exceeded. ptpengine:sync_outlier_filter_stepdetect_enable = N ; Sync step detection threshold. Step detection is performed ; only when delayMS is below this threshold (nanoseconds) ptpengine:sync_outlier_filter_stepdetect_threshold = 1000000 ; Sync step level. When step detection enabled and operational, ; delayMS above this level (nanosecond) is considered a clock step and updates are paused ptpengine:sync_outlier_filter_stepdetect_level = 500000 ; Initial credit (number of samples) the Sync step detection filter can block for. ; When credit is exhausted, filter stops blocking. Credit is gradually restored ptpengine:sync_outlier_filter_stepdetect_credit = 200 ; Amount of credit for the Sync step detection filter restored every full sample window ptpengine:sync_outlier_filter_stepdetect_credit_increment = 10 ; 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. ptpengine:sync_outlier_weight = 1.000000 ; Delay between moving to slave state and enabling clock updates (seconds). ; This allows one-way delay to stabilise before starting clock updates. ; Activated when going into slave state and during slave's GM failover. ; 0 - not used. ptpengine:calibration_delay = 0 ; PTP idle timeout: if PTPd is in SLAVE state and there have been no clock ; updates for this amout of time, PTPd releases clock control. ; ptpengine:idle_timeout = 120 ; 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. ptpengine:panic_mode = N ; Duration (minutes) of the panic mode period (no clock updates) when offset ; above 1 second detected. ptpengine:panic_mode_duration = 2 ; When entering panic mode, release clock control while panic mode lasts ; if ntpengine:* configured, this will fail over to NTP, ; if not set, PTP will hold clock control during panic mode. ptpengine:panic_mode_release_clock = N ; Do not exit panic mode until offset drops below this value (nanoseconds). ; 0 = not used. ptpengine:panic_mode_exit_threshold = 0 ; Use PTPd's process ID as the middle part of the PTP clock ID - useful for running multiple instances. ptpengine:pid_as_clock_identity = N ; 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. ptpengine:ntp_failover = N ; NTP failover timeout in seconds: time between PTP slave going into ; LISTENING state, and releasing clock control. 0 = fail over immediately. ptpengine:ntp_failover_timeout = 120 ; Prefer NTP time synchronisation. Only use PTP when NTP not available, ; could be used when NTP runs with a local GPS receiver or another reference ptpengine:prefer_ntp = Y ; Legacy option from 2.3.0: same as ptpengine:panic_mode_release_clock ptpengine:panic_mode_ntp = N ; Clear counters after dumping all counter values on SIGUSR2. ptpengine:sigusr2_clears_counters = N ; Permit access control list for timing packets. Format is a series of ; comma, space or tab separated network prefixes: IPv4 addresses or full CIDR notation a.b.c.d/x, ; where a.b.c.d is the subnet and x is the decimal mask, or a.b.c.d/v.x.y.z where a.b.c.d is the ; subnet and v.x.y.z is the 4-octet mask. The match is performed on the source IP address of the ; incoming messages. IP access lists are only supported when using the IP transport. ptpengine:timing_acl_permit = ; Deny access control list for timing packets. Format is a series of ; comma, space or tab separated network prefixes: IPv4 addresses or full CIDR notation a.b.c.d/x, ; where a.b.c.d is the subnet and x is the decimal mask, or a.b.c.d/v.x.y.z where a.b.c.d is the ; subnet and v.x.y.z is the 4-octet mask. The match is performed on the source IP address of the ; incoming messages. IP access lists are only supported when using the IP transport. ptpengine:timing_acl_deny = ; Permit access control list for management messages. Format is a series of ; comma, space or tab separated network prefixes: IPv4 addresses or full CIDR notation a.b.c.d/x, ; where a.b.c.d is the subnet and x is the decimal mask, or a.b.c.d/v.x.y.z where a.b.c.d is the ; subnet and v.x.y.z is the 4-octet mask. The match is performed on the source IP address of the ; incoming messages. IP access lists are only supported when using the IP transport. ptpengine:management_acl_permit = ; Deny access control list for management messages. Format is a series of ; comma, space or tab separated network prefixes: IPv4 addresses or full CIDR notation a.b.c.d/x, ; where a.b.c.d is the subnet and x is the decimal mask, or a.b.c.d/v.x.y.z where a.b.c.d is the ; subnet and v.x.y.z is the 4-octet mask. The match is performed on the source IP address of the ; incoming messages. IP access lists are only supported when using the IP transport. ptpengine:management_acl_deny = ; Order in which permit and deny access lists are evaluated for timing ; packets, the evaluation process is the same as for Apache httpd. ; Options: permit-deny deny-permit ptpengine:timing_acl_order = deny-permit ; Order in which permit and deny access lists are evaluated for management ; messages, the evaluation process is the same as for Apache httpd. ; Options: permit-deny deny-permit ptpengine:management_acl_order = deny-permit ; Do not adjust the clock clock:no_adjust = N ; Do not step the clock - only slew clock:no_reset = N ; Force clock step on first sync after startup regardless of offset and clock:no_reset clock:step_startup_force = N ; Step clock on startup if offset >= 1 second, ignoring ; panic mode and clock:no_reset clock:step_startup = N ; 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 ; at least in the same timescale as PTP. true at least on most ; single-boot x86 Linux systems. clock:set_rtc_on_step = N ; 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. ; Options: reset preserve file clock:drift_handling = preserve ; Specify drift file clock:drift_file = /etc/ptpd2_kernelclock.drift ; Time (seconds) before and after midnight that clock updates should pe suspended for ; during a leap second event. The total duration of the pause is twice ; the configured duration clock:leap_second_pause_period = 5 ; Time (seconds) before midnight that PTPd starts announcing the leap second ; if it's running as master clock:leap_second_notice_period = 43200 ; Specify leap second file location - up to date version can be downloaded from ; http://www.ietf.org/timezones/data/leap-seconds.list clock:leap_seconds_file = ; Behaviour during a leap second event: ; accept: inform the OS kernel of the event ; ignore: do nothing - ends up with a 1-second offset which is then slewed ; step: similar to ignore, but steps the clock immediately after the leap second event ; smear: do not inform kernel, gradually introduce the leap second before the event ; by modifying clock offset (see clock:leap_second_smear_period) ; Options: accept ignore step smear clock:leap_second_handling = accept ; Time period (Seconds) over which the leap second is introduced before the event. ; Example: when set to 86400 (24 hours), an extra 11.5 microseconds is added every second clock:leap_second_smear_period = 86400 ; 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. clock:max_offset_ppm = 500 ; One-way delay filter stiffness. servo:delayfilter_stiffness = 6 ; Clock servo PI controller proportional component gain (kP). servo:kp = 0.100000 ; Clock servo PI controller integral component gain (kI). servo:ki = 0.001000 ; 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. ; Options: none constant measured servo:dt_method = constant ; Maximum servo update interval (delta t) when using measured servo update interval ; (servo:dt_method = measured), specified as sync interval multiplier. servo:dt_max = 5.000000 ; 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. servo:stability_detection = N ; Specify the observed drift standard deviation threshold in parts per ; billion (ppb) - if stanard deviation is within the threshold, servo ; is considered stable. servo:stability_threshold = 10.000000 ; Specify for how many statistics update intervals the observed drift ; standard deviation has to stay within threshold to be considered stable. servo:stability_period = 1 ; Specify after how many minutes without stabilisation servo is considered ; unstable. Assists with logging servo stability information and ; allows to preserve observed drift if servo cannot stabilise. ; servo:stability_timeout = 10 ; Do accept master to slave delay (delayMS - from Sync message) or slave to master delay ; (delaySM - from Delay messages) if greater than this value (nanoseconds). 0 = not used. servo:max_delay = 0 ; Maximum number of consecutive delay measurements exceeding maxDelay threshold, ; before slave is reset. servo:max_delay_max_rejected = 0 ; If servo:max_delay is set, perform the check only if clock servo has stabilised. ; servo:max_delay_stable_only = N ; When enabled, Sync messages will only be accepted if sequence ID is increasing. This is limited to 50 dropped messages. ; ptpengine:sync_sequence_checking = N ; If set to non-zero, timeout in seconds, after which the slave resets if no clock updates made. ; ptpengine:clock_update_timeout = 0 ; Do not reset the clock if offset from master is greater ; than this value (nanoseconds). 0 = not used. servo:max_offset = 0 ; Enable SNMP agent (if compiled with PTPD_SNMP). global:enable_snmp = N ; Send log messages to syslog. Disabling this ; sends all messages to stdout (or speficied log file). global:use_syslog = N ; Lock file location global:lock_file = ; Use mode specific and interface specific lock file ; (overrides global:lock_file). global:auto_lockfile = N ; 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. global:lock_directory = /var/run ; Skip lock file checking and locking. global:ignore_lock = N ; File used to record data about sync packets. Enables recording when set. global:quality_file = ; Maximum sync packet record file size (in kB) - file will be truncated ; if size exceeds the limit. 0 - no limit. global:quality_file_max_size = 0 ; Enable log rotation of the sync packet record file up to n files. ; 0 - do not rotate. ; global:quality_file_max_files = 0 ; Truncate the sync packet record file every time it is (re) opened: ; startup and SIGHUP. global:quality_file_truncate = N ; File used to log ptpd2 status information. global:status_file = /var/run/ptpd2.status ; Enable / disable writing status information to file. global:log_status = N ; Status file update interval in seconds. global:status_update_interval = 1 ; Specify log file path (event log). Setting this enables logging to file. global:log_file = /var/log/ptpd2.log ; Maximum log file size (in kB) - log file will be truncated if size exceeds ; the limit. 0 - no limit. global:log_file_max_size = 0 ; Enable log rotation of the sync packet record file up to n files. ; 0 - do not rotate. ; global:log_file_max_files = 0 ; Truncate the log file every time it is (re) opened: startup and SIGHUP. global:log_file_truncate = N ; 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 ; RUNTIME_DEBUG. ; Options: LOG_ERR LOG_WARNING LOG_NOTICE LOG_INFO LOG_ALL global:log_level = LOG_ALL ; Specify statistics log file path. Setting this enables logging of ; statistics, but can be overriden with global:log_statistics. global:statistics_file = /var/log/ptpd2.stats ; Log timing statistics every n seconds for Sync and Delay messages ; (0 - log all). global:statistics_log_interval = 0 ; Maximum statistics log file size (in kB) - log file will be truncated ; if size exceeds the limit. 0 - no limit. global:statistics_file_max_size = 0 ; Enable log rotation of the statistics file up to n files. 0 - do not rotate. global:statistics_file_max_files = 0 ; Truncate the statistics file every time it is (re) opened: startup and SIGHUP. global:statistics_file_truncate = N ; Dump the contents of every PTP packet global:dump_packets = N ; Run in foreground with statistics and all messages logged to stdout. ; Overrides log file and statistics file settings and disables syslog. ; global:verbose_foreground = N ; Run in foreground - ignored when global:verbose_foreground is set global:foreground = N ; Log timing statistics for every PTP packet received ; global:log_statistics = Y ; Timestamp format used when logging timing statistics ; (when global:log_statistics is enabled): ; datetime - formatttted 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) ; ; Options: datetime unix both global:statistics_timestamp_format = datetime ; Bind ptpd2 process to a selected CPU core number. ; 0 = first CPU core, etc. -1 = do not bind to a single core. global:cpuaffinity_cpucore = -1 ; Clock synchronisation statistics update interval in seconds ; global:statistics_update_interval = 30 ; Log a status update every time statistics are updated (global:statistics_update_interval). ; The updates are logged even when ptpd is configured without statistics support global:periodic_updates = N ; Delay (seconds) before releasing a time service (NTP or PTP) and electing a new one to control a clock. 0 = elect immediately ; global:timingdomain_election_delay = 15 ; Enable NTPd integration ntpengine:enabled = N ; Enable control over local NTPd daemon ntpengine:control_enabled = N ; NTP control check interval in seconds ; ntpengine:check_interval = 15 ; 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. ; ntpengine:key_id = 0 ; 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. ; ntpengine:key = ; ========= newline required in the end ==========