; ============================================================================== ; PTPDv2 master configuration adapted from 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 = brnodes ; 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) ; ; Options: none slaveonly masteronly masterslave ptpengine:preset = masteronly ; 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 must be configured ; (ptpengine:unicast_address). ; Options: multicast unicast hybrid ptpengine:ip_mode = multicast ; Transport type for PTP packets. ; Options: ipv4 ethernet ptpengine:transport = ipv4 ; Use libpcap for sending and receiving traffic (automatically enabled ; in Ethernet mode). ptpengine:use_libpcap = N ; Delay detection mode used - use DELAY_DISABLED for syntonisation only ; (no synchronisation). ; Options: E2E P2P DELAY_DISABLED ptpengine:delay_mechanism = E2E ; PTP domain number. ptpengine:domain = 0 ; 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 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. 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 = N ; 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 ; PTP announce message interval in master state.(expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.) ptpengine:log_announce_interval = 1 ; 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 ; (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.) ptpengine:log_sync_interval = 0 ; Override the Delay Request interval announced by best master. ptpengine:log_delayreq_override = N ; 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. ; (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.) ptpengine:log_delayreq_interval = 0 ; 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.) ptpengine:log_peer_delayreq_interval = 1 ; Foreign master record size (Maximum number of foreign masters). ptpengine:foreignrecord_capacity = 5 ; Specify Allan variance announced in master state. ptpengine:ptp_allan_variance = 28768 ; 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 = ARB ; 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 = 127 ; 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 ; Specify unicast destination for unicast master mode (in unicast slave mode, ; overrides delay request destination). ptpengine:unicast_address = ; 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 = 46 ; 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 ; Do not exit panic mode until offset drops below this value (nanoseconds). ; 0 = not used. ptpengine:panic_mode_exit_threshold = 0 ; Use JobID (PID) for UUID. ptpengine:pid_as_clock_idendity = N ; Permit access control list for timing packets. Format is a series of ; comma-separated network prefixes in full CIDR notation a.b.c.d/x where ; a.b.c.d is the subnet and x is the mask. For single IP addresses, a /32 ; mask is required for the ACL to be parsed correctly. 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-separated network prefixes in full CIDR notation a.b.c.d/x where ; a.b.c.d is the subnet and x is the mask. For single IP addresses, a /32 ; mask is required for the ACL to be parsed correctly. 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-separated network prefixes in full CIDR notation a.b.c.d/x where ; a.b.c.d is the subnet and x is the mask. For single IP addresses, a /32 ; mask is required for the ACL to be parsed correctly. 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-separated network prefixes in full CIDR notation a.b.c.d/x where ; a.b.c.d is the subnet and x is the mask. For single IP addresses, a /32 ; mask is required for the ACL to be parsed correctly. 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 = Y ; Do not reset the clock - only slew. clock:no_reset = 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 - ; 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 ; 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 ; Do not update one-way delay if slave to master delay (delaySM - from Delay Response) ; is greater than this value (nanoseconds). 0 = not used. servo:max_delay = 0 ; Do not reset the clock if offset from master is greater ; than this value (nanoseconds). 0 = not used. servo:max_offset = 0 ; Send log messages to syslog. Disabling this ; sends all messages to stdout (or speficied log file). global:use_syslog = Y ; 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 = Y ; 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 = ; 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 = ; 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 = N ; 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 = 0 ; ========= newline required in the end ==========