1ptpd2.conf(5) PTPd config file ptpd2.conf(5)
2
3
4
6 ptpd2.conf - Precision Time Protocol daemon config file
7
8
10 Settings in the PTPd configuration file are grouped into sections and
11 take the form of section:key="value" variables. The configuration file
12 can either be formatted that way (preferred) or in .ini file style
13 where a series of key="value" variables is grouped into sections using
14 [section] headers. Every setting listed here can also be specified as
15 a command line parameter (--section:key=value). Quotation marks are
16 optional. NOTE: the configuration file must end with a newline.
17
18
20 Only a small number of configuration file settings (SNMP, lock file
21 configuration) requires a restart of the PTPd process to take effect.
22 All other settings can be changed while ptpd is running - configuration
23 file is reloaded and checked for changes when PTPd receives the SIGHUP
24 signal. When reloading configuration, PTPd will always attempt to test
25 settings before applying them and once running, will never exit as a
26 result of configuration errors. If it does exit during config refresh,
27 this is most likely a bug.
28
29
31 Any setting passed as a command line parameter will always take prior‐
32 ity over the configuration file, so once ptpd is running, those set‐
33 tings cannot be changed - a warning will be logged on every attempt to
34 change those settings using the configuration file.
35
36
38 ptpengine PTP protocol specific configuration
39
40 clock Clock related settings
41
42 servo Clock control PI servo configuration
43
44 global Global configuration - logging, etc.
45
46 ntpengine
47 NTP control configuration
48
49 variables
50 User-defined variables
51
52
54 To allow for easier management and automated generation of configura‐
55 tion, PTPd supports user variables, which can be defined in the config‐
56 uration file or in command line. They are defined as vari‐
57 ables:[name]=[value], or if using .ini style format, in the [variables]
58 section. Once defined, a variable can be referred to in the remaining
59 configuration settings as @name@, and is substituted with the value of
60 the variable
61
62 Example:
63
64 variables:instance=server15
65
66 global:status_file=/var/run/ptpd2.@instance@.status
67
68 global:log_file=/var/run/ptpd2.@instance@.status
69
70 Note: for the same effect, ptpd can be run from command line, such as
71 --config=/path/to/file --variables:instance=server15
72
73
75 PTPd includes suppport for built-in variables, automatically defined.
76 The following variables are automatically substituted:
77
78 @pid@ - current PTPd process ID @hostname@ - current host name
79
80
81
83 As of version 2.3.1.1, ptpd enables the user to minimise the configura‐
84 tion effort for common scenarios, using built-in templates and template
85 files. A template is a named set of pre-defined settings whic are
86 prepended before any other settings, so user can still overwrite set‐
87 tings provided by the template. To use this feature, set global:con‐
88 fig_templates=[name],[name],... in the configuration file, or run ptpd
89 with --global:config_templates=[name],[name],.... Multiple templates
90 can be specified, separated by comma, space or tab; they are applied in
91 the order they are provided, so template settings override any overlap‐
92 ping settings from previous templates specified. Templates can include
93 user-defined variables.
94
95 A number of template files can also be supplied with the global:tem‐
96 plate_files setting (comma, space or tab separated lis of file paths).
97 The template files will be processed in the order they are provided in,
98 so for overlapping settings, the last template applied overrides set‐
99 tings applied by any previous templates. PTPd will also try to load a
100 default template file on startup: templates.conf from the default data
101 directory: /usr/share/ptpd/templates.conf
102
103 The template file is formatted in .ini style - each template is a sec‐
104 tion defined as [template-name], followed by a number of settings spec‐
105 ified as section:setting.
106
107 Example:
108
109 [my-template]
110
111 global:verbose_foreground=Y
112
113 ptpengine:preset=slaveonly
114
115
116 To see the list of available built-in templates, run ptpd with -T or
117 --show-templates
118
119
121 ptpengine:interface [STRING]
122
123 usage Network interface to use - eth0, igb0 etc. (required).
124 See also ptpengine:backup_interface.
125
126 default [none]
127
128
129 ptpengine:backup_interface [STRING]
130
131 usage Backup network interface to use - eth0, igb0 etc. When
132 no GM available, slave will keep alternating between
133 primary and secondary until a GM is found.
134
135 default [none]
136
137
138 ptpengine:preset [SELECT]
139
140 options none slaveonly masteronly masterslave
141
142 usage PTP engine preset:
143
144 none Defaults, no clock class restrictions
145
146 slaveonly Slave only (clock class 255 only)
147
148 masteronly Master, passive when not best master
149 (clock class 0..127)
150
151 masterslave Full IEEE 1588 implementation: Master,
152 slave when not best master (clock class
153 128..254)
154
155 default slaveonly
156
157 NOTE: Presets affect the following settings:
158 ptpengine:slave_only, clock_no_adjust and
159 ptpengine:clock_class (range and default value). To
160 see all preset settings, run ptpd2 -H (--long-help)
161
162
163 ptpengine:transport [SELECT]
164
165 options ipv4 ethernet
166
167 usage Transport type for PTP packets. NOTE: Ethernet trans‐
168 port requires building with libpcap and is not sup‐
169 ported on Solaris as of 2.3.1, and cannot be enabled on
170 those systems unless ptpd is compiled with --enable-
171 experimental-options.
172
173 default ipv4
174
175
176 ptpengine:dot1as [BOOLEAN]
177
178 usage Enable IEEE 802.1AS / AVB compatibility (transportSpe‐
179 cific field in PTP message headers). Requires Ethernet
180 transport as this is the only mapping used by 802.1AS
181 that PTP supports
182
183 default N
184
185
186 ptpengine:ip_mode [SELECT]
187
188 options multicast unicast hybrid
189
190 usage IP transmission mode (requires IP transport):
191
192 multicast uses multicast for all messages
193
194 hybrid uses multicast for sync and announce,
195 and unicast for delay request and
196 response
197
198 unicast uses unicast for all transmission. When
199 unicast mode is selected, destination
200 IP(s) (ptpengine:unicast_ destinations)
201 must be configured depending on unicast
202 negotiation setting (ptpengine:uni‐
203 cast_negotiation) and master or slave
204 role (see: ptpengine:unicast_destina‐
205 tions)
206
207 default multicast
208
209
210 ptpengine:disabled [BOOLEAN]
211
212 usage Disable PTP port. Causes the PTP state machine to stay
213 in PTP_DISABLED state indefinitely, until it is re-
214 enabled via configuration change or ENABLE_PORT manage‐
215 ment message.
216
217 default N
218
219
220 ptpengine:unicast_negotiation [BOOLEAN]
221
222 usage Enable unicast negotiation support using signaling mes‐
223 sages - as used by the Telecom profile (ITU-T
224 G.8265.1).
225
226 default N
227
228
229 ptpengine:unicast_grant_duration [INT: 30 .. 604800]
230
231 usage Duration (seconds) for which the transmission of uni‐
232 cast messages is granted by a master, or requested by a
233 slave when unicast negotiation is used (ptpengine:uni‐
234 cast_negotiation). When using PTPd with other PTP
235 implementations, PTPd will never refuse to grant a mes‐
236 sage based on the requested duration: it will grant for
237 30 seconds if requested for any less than 30 seconds,
238 and will grant for 7 days (604800) if requested for any
239 longer.
240
241 default 300
242
243
244 ptpengine:disable_bmca [BOOLEAN]
245
246 usage Disable Best Master Clock Algorithm for unicast mas‐
247 ters. Only effective for masteronly preset - all
248 Announce messages will be ignored and the cock will
249 transition directly into MASTER state and remain an
250 active master. This behaviour is required for Telecom
251 profile operation.
252
253 default N
254
255
256 ptpengine:unicast_any_master [BOOLEAN]
257
258 usage When using unicast negotiation (slave), accept PTP mes‐
259 sages from any grandmaster. By default, only messages
260 from acceptable masters (ptpengine:unicast_destina‐
261 tions) are accepted, and only if transmission was
262 granted by the GM. This setting can be used when mixing
263 GMs supporting G.8265.1 and manual unicast (no negotia‐
264 tion), or to assist with interoperability issues where
265 signaling messages and timing messages come from dif‐
266 ferent port identities.
267
268 default N
269
270
271 ptpengine:unicast_port_mask [INT: 0 .. 65535 (0xFFFF)]
272
273 usage PTP port number wildcard mask (16-bit) applied onto
274 port identities when running unicast negotiation:
275 allows multiple port identities (with the same clock
276 ID) to be accepted as coming from the same port. This
277 option can be used as a workaround where a node sends
278 signaling messages and timing messages with different
279 port identities. NOTE: This can also be entered in
280 hexadecimal notation (0xNNNN).
281
282 default 0
283
284
285 ptpengine:disable_udp_checksums [BOOLEAN]
286
287 usage Disable UDP checksum validation on UDP sockets (Linux
288 only). Workaround for situations where a node (like
289 Transparent Clock) does not rewrite checksums. Enabled
290 by default.
291
292 default Y
293
294
295 ptpengine:use_libpcap [BOOLEAN]
296
297 usage Use libpcap for sending and receiving traffic (automat‐
298 ically enabled in Ethernet mode). Requires building
299 with libpcap - builds made with --disable-pcap cannot
300 use this feature, and as of 2.3.1, Solaris systems will
301 not attempt to use libpcap unless compiled with
302 --enable-experimental-options
303
304 default N
305
306
307 ptpengine:delay_mechanism [SELECT]
308
309 options E2E P2P DELAY_DISABLED
310
311 usage Delay detection mechanism used - use DELAY_DISABLED for
312 syntonisation only (no synchronisation). E2E uses Delay
313 Request messages, P2P uses Peer Delay Request messages.
314
315 default E2E
316
317
318 ptpengine:domain [INT: 0 .. 127]
319
320 usage PTP domain number.
321
322 default 0
323
324
325 ptpengine:any_domain [BOOLEAN]
326
327 usage Usability extension: if enabled, a slave-only clock
328 will accept masters from any domain, while preferring
329 the configured domain, and preferring lower domain num‐
330 ber. This option should be used for slave-only clocks
331 and should not be used with unicast negotiation. NOTE:
332 this behaviour is not part of the standard.
333
334 default N
335
336
337 ptpengine:port_number [INT: 1 .. 65534]
338
339 usage PTP port number (part of PTP Port Identity - not UDP
340 port). For ordinary clocks (single port), the default
341 should be used, but when running multiple instances to
342 simulate a boundary clock, The port number can be
343 changed.
344
345 default 1
346
347
348 ptpengine:port_description [STRING: 64 characters max]
349
350 usage User description of the PTP port - this value is
351 returned in response to USER_DESCRIPTION management
352 message and CLOCK_DESCRIPTION management message.
353
354 default [ptpd]
355
356
357 ptpengine:slave_only [BOOLEAN]
358
359 usage Slave only mode (sets clock class to 255, overriding
360 value from preset).
361
362 default Y
363
364
365 ptpengine:inbound_latency [INT]
366
367 usage Specify latency correction (nanoseconds) for incoming
368 packets.
369
370 default 0
371
372
373 ptpengine:outbound_latency [INT]
374
375 usage Specify latency correction (nanoseconds) for outgoing
376 packets.
377
378 default 0
379
380
381 ptpengine:offset_shift [INT]
382
383 usage Apply an arbitrary shift (nanoseconds) to offset from
384 master when in slave state. Value can be positive or
385 negative - useful for correcting for of antenna laten‐
386 cies, delay assymetry and IP stack latencies. This will
387 not be visible in the offset from master value - only
388 in the resulting clock correction.
389
390 default 0
391
392
393 ptpengine:always_respect_utc_offset [BOOLEAN]
394
395 usage Compatibility option: In slave state, always respect
396 UTC offset announced by best master, even if the the
397 currrentUtcOffsetValid flag is announced FALSE. NOTE:
398 this behaviour is not part of the standard.
399
400 default N
401
402
403 ptpengine:prefer_utc_offset_valid [BOOLEAN]
404
405 usage Compatibility extension to BMC algorithm: when enabled,
406 BMC for both master and save clocks will prefer masters
407 announcing currrentUtcOffsetValid as TRUE.
408 NOTE: this behaviour is not part of the standard.
409
410 default N
411
412
413 ptpengine:require_utc_offset_valid [BOOLEAN]
414
415 usage Compatibility option: when enabled, ptpd2 will ignore
416 Announce messages from masters announcing currentUt‐
417 cOffsetValid as FALSE. NOTE: this behaviour is not part
418 of the standard.
419
420 default N
421
422
423 ptpengine:log_announce_interval [INT: -4 .. 7]
424
425 usage PTP announce message interval in master state. When
426 using unicast negotiation (ptpengine:unicast_negotia‐
427 tion), for slaves this is the initial (minimum) inter‐
428 val requested and for masters this is the minimum
429 interval granted. (expressed as log 2 i.e. -1=0.5s,
430 0=1s, 1=2s etc.)
431
432 default 1
433
434
435 ptpengine:log_announce_interval_max [INT: -1 .. 7]
436
437 usage When using unicast negtiation (ptpengine:unicast_nego‐
438 tiation), this is the maximum announce interval granted
439 by a master, and the maximum interval a slave will
440 attempt to request. (expressed as log 2 i.e. -1=0.5s,
441 0=1s, 1=2s etc.)
442
443 default 5
444
445
446 ptpengine:announce_receipt_timeout [INT: 2 .. 255]
447
448 usage PTP announce receipt timeout announced in master state.
449
450 default 6
451
452
453 ptpengine:announce_receipt_grace_period [INT: 0 .. 20]
454
455 usage PTP announce receipt timeout grace period in slave
456 state: when announce receipt timeout occurs, disqualify
457 current best GM,
458 then wait n times announce receipt timeout before
459 resetting. Allows for a seamless GM failover when
460 standby GMs are slow
461 to react. When set to 0, this option is not used.
462
463 default 0
464
465
466 ptpengine:log_sync_interval [INT: -7 .. 7]
467
468 usage PTP sync message interval in master state. When using
469 unicast negotiation (ptpengine:unicast_negotiation),
470 for slaves this is the initial (minimum) interval
471 requested and for masters this is the minimum interval
472 granted. (expressed as log 2 i.e. -1=0.5s, 0=1s,
473 1=2s etc.)
474
475 default 0
476
477
478 ptpengine:log_sync_interval_max [INT: -1 .. 7]
479
480 usage When using unicast negtiation (ptpengine:unicast_nego‐
481 tiation), this is the maximum sync interval granted by
482 a master, and the maximum interval a slave will attempt
483 to request. (expressed as log 2 i.e. -1=0.5s, 0=1s,
484 1=2s etc.)
485
486 default 5
487
488
489 ptpengine:log_delayreq_override [BOOLEAN]
490
491 usage Override the Delay Request interval provided by best
492 master.
493
494 default N
495
496
497 ptpengine:log_delayreq_auto [BOOLEAN]
498
499 usage Automatically override the Delay Request interval (with
500 ptpengine:log_delayreq_interval) if the received value
501 is 127 (0X7F), such as in unicast messages, unless
502 using unicast negotiation (ptpengine:unicast_negotia‐
503 tion)
504
505 default Y
506
507
508 ptpengine:log_delayreq_interval_initial [INT: -7 .. 7]
509
510 usage Delay request interval used before receiving first
511 delay response (expressed as log 2 i.e. -1=0.5s,
512 0=1s, 1=2s etc.)
513
514 default 0
515
516
517 ptpengine:log_delayreq_interval [INT: -7 .. 7]
518
519 usage Minimum delay request interval announced when in master
520 state, in slave state overrides the master interval.
521 (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.).
522 When using unicast negotiation (ptpengine:unicast_nego‐
523 tiation), for slaves this is the initial (minimum)
524 interval requested and for masters this is the minimum
525 interval granted.
526
527 default 0
528
529
530 ptpengine:log_delayreq_interval_max [INT: -1 .. 7]
531
532 usage When using unicast negtiation (ptpengine:unicast_nego‐
533 tiation), this is the maximum delay request interval
534 granted by a master, and the maximum interval a slave
535 will attempt to request.
536 (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.).
537
538 default 5
539
540
541 ptpengine:log_peer_delayreq_interval [INT: -7 .. 7]
542
543 usage Minimum peer delay request message interval in peer to
544 peer delay mode (expressed as log 2 i.e. -1=0.5s, 0=1s,
545 1=2s etc.). When using unicast negotiation
546 (ptpengine:unicast_negotiation), this is the initial
547 (minimum) interval requested by a node from its peer
548 and this is the minimum interval granted for a peer.
549
550 default 1
551
552
553 ptpengine:log_peer_delayreq_interval_max [INT: -1 .. 7]
554
555 usage When using unicast negtiation (ptpengine:unicast_nego‐
556 tiation), this is the maximum peer delay request inter‐
557 val granted by a node, and the maximum interval a node
558 will attempt to request from its peer.
559 (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.).
560
561 default 5
562
563
564 ptpengine:foreignrecord_capacity [INT: 5 .. 10]
565
566 usage Foreign master record size (Maximum number of foreign
567 masters).
568
569 default 5
570
571
572 ptpengine:ptp_allan_variance [INT: 0 .. 65535]
573
574 usage Specify Allan variance announced in master state.
575
576 default 28768
577
578
579 ptpengine:ptp_clock_accuracy [SELECT]
580
581 options ACC_25NS ACC_100NS ACC_250NS ACC_1US ACC_2.5US ACC_10US
582 ACC_25US ACC_100US ACC_250US ACC_1MS ACC_2.5MS ACC_10MS
583 ACC_25MS ACC_100MS ACC_250MS ACC_1S ACC_10S ACC_10SPLUS
584 ACC_UNKNOWN
585
586 usage Clock accuracy range announced in master state.
587
588 default ACC_UNKNOWN
589
590
591 ptpengine:utc_offset [INT]
592
593 usage Underlying time source UTC offset announced in master
594 state.
595
596 default 0
597
598
599 ptpengine:utc_offset_valid [BOOLEAN]
600
601 usage Underlying time source UTC offset validity announced in
602 master state.
603
604 default N
605
606
607 ptpengine:time_traceable [BOOLEAN]
608
609 usage Underlying time source time traceability announced in
610 master state.
611
612 default N
613
614
615 ptpengine:frequency_traceable [BOOLEAN]
616
617 usage Underlying time source frequency traceability announced
618 in master state.
619
620 default N
621
622
623 ptpengine:ptp_timescale [SELECT]
624
625 options PTP ARB
626
627 usage Time scale announced in master state (with ARB, UTC
628 properties are ignored by slaves). When clock class is
629 set to 13 (application specific), this value is ignored
630 and ARB is used.
631
632 default ARB
633
634
635 ptpengine:ptp_timesource [SELECT]
636
637 options ATOMIC_CLOCK GPS TERRESTRIAL_RADIO PTP NTP HAND_SET
638 OTHER INTERNAL_OSCILLATOR
639
640 usage Time source announced in master state.
641
642 default INTERNAL_OSCILLATOR
643
644
645 ptpengine:clock_class [INT: 0 .. 255]
646
647 usage Clock class - announced in master state. Always 255 for
648 slave-only. Minimum, maximum and default values are
649 controlled by presets. If set to 13 (application spe‐
650 cific time source), announced time scale is always set
651 to ARB. This setting controls the states a PTP port
652 can be in. If below 128, port will only be in MASTER or
653 PASSIVE states (master only). If above 127, port will
654 be in MASTER or SLAVE states.
655
656 default 255
657
658
659 ptpengine:priority1 [INT: 0 .. 248]
660
661 usage Priority 1 announced in master state,used for Best Mas‐
662 ter Clock selection.
663
664 default 128
665
666
667 ptpengine:priority2 [INT: 0 .. 248]
668
669 usage Priority 2 announced in master state, used for Best
670 Master Clock selection.
671
672 default 128
673
674
675 ptpengine:max_listen [INT: min: 1 ]
676
677 usage Number of consecutive protocol resets to LISTENING
678 before full network reset.
679
680 default 5
681
682
683 ptpengine:unicast_destinations [STRING]
684
685 usage An IPv4 address or list of IPv4 addresses to be used as
686 unicast destinations. When unicast negotiation
687 (ptpengine:unicast_negotiation) is enabled, setting
688 this is mandatory for slaves as they must be aware of
689 which GMs to request messages from. When unicast nego‐
690 tiation is disabled, setting this is mandatory for GMs,
691 as they must deliver messages to a pre-configured group
692 of slaves.
693
694 default [none]
695
696
697 ptpengine:unicast_domains [STRING]
698
699 usage Specify PTP domain number for each configured unicast
700 destination (ptpengine:unicast_destinations). This is
701 only used by slave-only clocks using multiple unicast
702 destinations to allow for each master to be in a sepa‐
703 rate domain, such as with Telecom Profile. The number
704 of entries should match the number of unicast destina‐
705 tions, otherwise unconfigured domains or domains set to
706 0 are set to domain configured in ptpengine:domain.
707 The format is a comma, tab or space-separated list of
708 8-bit unsigned integers (0 .. 255).
709
710 default [none]
711
712
713 ptpengine:unicast_local_preference [STRING]
714
715 usage Specify a local preference for each configured unicast
716 destination (ptpengine:unicast_destinations). This is
717 only used by slave-only clocks using multiple unicast
718 destinations to allow for each master's BMC selection
719 to be influenced locally by the slave, such as with
720 Telecom Profile. The number of entries should match the
721 number of unicast destinations, otherwise unconfigured
722 preference is set to 255 (lowest), so that the uncon‐
723 figurest entries do not pre-empt the configured
724 entries. The format is a comma, tab or space-separated
725 list of 8-bit unsigned integers (0 .. 255).
726
727 default [none]
728
729
730 ptpengine:unicast_peer_destination [STRING]
731
732 usage When using IP unicast mode (ptpengine:ip_mode=unicast)
733 and Peer to Peer delay mechanism (ptpengine:delay_mech‐
734 anism=P2P), a peer unicast destination must be config‐
735 ured to request the peer delay from. Format is a single
736 unicast IPv4 address.
737
738 default [none]
739
740
741
742 ptpengine:management_enable [BOOLEAN]
743
744 usage Enable handling of PTP management messages. Only GET
745 messages are processed by default. See ptpengine:man‐
746 agement_set_enable.
747
748 default Y
749
750
751 ptpengine:management_set_enable [BOOLEAN]
752
753 usage Accept SET and COMMAND management messages.
754
755 default N
756
757
758 ptpengine:igmp_refresh [BOOLEAN]
759
760 usage Send explicit IGMP joins between engine resets and
761 periodically in master state.
762
763 default Y
764
765
766 ptpengine:master_igmp_refresh_interval [INT: 0 .. 255]
767
768 usage Periodic IGMP join interval (seconds) in master state
769 when running IPv4 multicast: when set below 10 or when
770 ptpengine:igmp_refresh is disabled, this setting has no
771 effect.
772
773 default 60
774
775
776 ptpengine:multicast_ttl [INT: 1 .. 64]
777
778 usage Multicast time to live for multicast PTP packets
779 (ignored and set to 1 for peer to peer messages).
780
781 default 64
782
783
784 ptpengine:ip_dscp [INT: 0 .. 63]
785
786 usage DiffServ CodepPoint for packet prioritisation (deci‐
787 mal). When set to zero, this option is not used. Use 46
788 for Expedited Forwarding (0x2e).
789
790 default 0
791
792
793 ptpengine:sync_stat_filter_enable [BOOLEAN]
794
795 usage Enable statistical filter for Sync messages
796
797 default N
798
799
800 ptpengine:sync_stat_filter_type [SELECT]
801
802 options none mean min max absmin absmax median
803
804 usage Type of filter used for Sync message filtering:
805
806 none no filtering - pass-through
807
808 mean mean (average) - smooth results but
809 influenced by outliers
810
811 min minimal value - useful for high packet
812 delay variation ("lucky packets")
813
814 max maximal value - useful for testing
815 worst case scenarios
816
817 absmin absolute minimum - value closest to
818 zero. Also useful for test purposes.
819
820 absmax absolute maximun value farthest away
821 from zero
822
823 median median (middle value) - more robust
824 than mean, not influenced by outliers
825
826 default min
827
828
829 ptpengine:sync_stat_filter_window [INT: 3 .. 128]
830
831 usage Number of samples used for the Sync statistical filter
832
833 default 4
834
835
836 ptpengine:sync_stat_filter_window_type [SELECT]
837
838 options sliding interval
839
840 usage Sampling window behaviour for the Sync statistical fil‐
841 ter:
842
843 sliding sliding window - a value is output
844 every time the filter runs, which can
845 result in duplicates
846
847 interval only output a value every n-th sample
848 (full window) - independent sampling
849 periods
850
851 default sliding
852
853
854 ptpengine:delay_stat_filter_enable [BOOLEAN]
855
856 usage Enable statistical filter for Delay messages
857
858 default N
859
860
861 ptpengine:delay_stat_filter_type [SELECT]
862
863 options none mean min max absmin absmax median
864
865 usage Type of filter used for Delay message filtering:
866
867 none no filtering - pass-through
868
869 mean mean (average) - smooth results but
870 influenced by outliers
871
872 min minimal value - useful for high packet
873 delay variation ("lucky packets")
874
875 max maximal value - useful for testing
876 worst case scenarios
877
878 absmin absolute minimum - value closest to
879 zero. Also useful for test purposes.
880
881 absmax absolute maximun value farthest away
882 from zero
883
884 median median (middle value) - more robust
885 than mean, not influenced by outliers
886
887 default min
888
889
890 ptpengine:delay_stat_filter_window [INT: 3 .. 128]
891
892 usage Number of samples used for the Delay statistical filter
893
894 default 4
895
896
897 ptpengine:delay_stat_filter_window_type [SELECT]
898
899 options sliding interval
900
901 usage Sampling window behaviour for the Delay statistical
902 filter:
903
904 sliding sliding window - a value is output
905 every time the filter runs, which can
906 result in duplicates
907
908 interval only output a value every n-th sample
909 (full window) - independent sampling
910 periods
911
912 default sliding
913
914
915
916 ptpengine:delay_outlier_filter_enable [BOOLEAN]
917
918 usage Enable outlier filter for the Delay Response component
919 in slave state
920
921 default N
922
923
924 ptpengine:delay_outlier_filter_action [SELECT]
925
926 options discard filter
927
928 usage Delay Response outlier filter action. If set to 'fil‐
929 ter', outliers are replaced with moving average.
930
931 default discard
932
933
934 ptpengine:delay_outlier_filter_capacity [INT: 4 .. 60]
935
936 usage Number of samples in the Delay Response outlier filter
937 buffer
938
939 default 20
940
941
942 ptpengine:delay_outlier_filter_threshold [FLOAT: 0.001000 ..
943 1000.000000]
944
945 usage Delay Response outlier filter threshold: multiplier for
946 Peirce's maximum standard deviation. When set
947 below 1.0, filter is tighter, when set above 1.0,
948 filter is looser than standard Peirce's test.
949
950 default 1.000000
951
952
953 ptpengine:delay_outlier_filter_always_filter [BOOLEAN]
954
955 usage Always run the Delay Response outlier filter, even if
956 clock is being slewed at maximum rate
957
958 default N
959
960
961 ptpengine:delay_outlier_filter_autotune_enable [BOOLEAN]
962
963 usage Enable automatic threshold control for Delay Response
964 outlier filter.
965
966 default Y
967
968
969 ptpengine:delay_outlier_filter_autotune_minpercent [INT: 0 .. 99]
970
971 usage Delay Response outlier filter autotune low watermark -
972 minimum percentage of discarded samples in the update
973 period before filter is tightened by the autotune step
974 value
975
976 default 20
977
978
979 ptpengine:delay_outlier_filter_autotune_maxpercent [INT: 1 .. 100]
980
981 usage Delay Response outlier filter autotune high watermark -
982 maximum percentage of discarded samples in the update
983 period before filter is loosened by the autotune step
984 value
985
986 default 95
987
988
989 ptpengine:delay_outlier_filter_autotune_step [FLOAT: 0.010000 ..
990 10.000000]
991
992 usage The value the Delay Response outlier filter threshold
993 is increased or decreased by when auto-tuning
994
995 default 0.100000
996
997
998 ptpengine:delay_outlier_filter_autotune_minthreshold [FLOAT: 0.010000
999 .. 10.000000]
1000
1001 usage Minimum Delay Response filter threshold value used when
1002 auto-tuning
1003
1004 default 0.100000
1005
1006
1007 ptpengine:delay_outlier_filter_autotune_maxthreshold [FLOAT: 0.010000
1008 .. 10.000000]
1009
1010 usage Maximum Delay Response filter threshold value used when
1011 auto-tuning
1012
1013 default 5.000000
1014
1015
1016 ptpengine:delay_outlier_weight [FLOAT: 0.010000 .. 2.000000]
1017
1018 usage Delay Response outlier weight: if an outlier is
1019 detected, determines the amount of its deviation
1020 from mean that is used to build the standard
1021 deviation statistics and influence further outlier
1022 detection. When set to 1.0, the outlier is used
1023 as is.
1024
1025 default 1.000000
1026
1027
1028 ptpengine:delay_outlier_filter_stepdetect_enable [BOOLEAN]
1029
1030 usage Enable Delay Response filter step detection (delaySM)
1031 to block when certain level exceeded
1032
1033 default N
1034
1035
1036 ptpengine:delay_outlier_filter_stepdetect_threshold [INT: 50000 ..
1037 999999999]
1038
1039 usage Delay step detection threshold. Step detection is per‐
1040 formed only when delaySM is below this threshold
1041 (nanoseconds)
1042
1043 default 1000000
1044
1045
1046 ptpengine:delay_outlier_filter_stepdetect_level [INT: 50000 ..
1047 999999999]
1048
1049 usage Delay step level. When step detection enabled and oper‐
1050 ational, delaySM above this level (nanoseconds) is con‐
1051 sidered a clock step and updates are paused
1052
1053 default 500000
1054
1055
1056 ptpengine:delay_outlier_filter_stepdetect_credit [INT: 50 .. 1000]
1057
1058 usage Initial credit (number of samples) the Delay step
1059 detection filter can block for. When credit is
1060 exhausted, filter stops blocking. Credit is gradually
1061 restored (see ptpengine:delay_outlier_filter_stepde‐
1062 tect_credit_increment)
1063
1064 default 200
1065
1066
1067 ptpengine:delay_outlier_filter_stepdetect_credit_increment [INT: 1 ..
1068 100]
1069
1070 usage Amount of credit for the Delay step detection filter
1071 restored every full sample window
1072
1073 default 10
1074
1075
1076 ptpengine:sync_outlier_filter_enable [BOOLEAN]
1077
1078 usage Enable outlier filter for the Sync component in slave
1079 state.
1080
1081 default N
1082
1083
1084 ptpengine:sync_outlier_filter_action [SELECT]
1085
1086 options discard filter
1087
1088 usage Sync outlier filter action. If set to 'filter', out‐
1089 liers are replaced with moving average.
1090
1091 default discard
1092
1093
1094 ptpengine:sync_outlier_filter_capacity [INT: 4 .. 60]
1095
1096 usage Number of samples in the Sync outlier filter buffer.
1097
1098 default 20
1099
1100
1101 ptpengine:sync_outlier_filter_threshold [FLOAT: 0.001000 ..
1102 1000.000000]
1103
1104 usage Sync outlier filter threshold: multiplier for the
1105 Peirce's maximum standard deviation. When set
1106 below 1.0, filter is tighter, when set above 1.0,
1107 filter is looser than standard Peirce's test.
1108
1109 default 1.000000
1110
1111
1112 ptpengine:sync_outlier_filter_always_filter [BOOLEAN]
1113
1114 usage Always run the Sync outlier filter, even if clock is
1115 being slewed at maximum rate
1116
1117 default N
1118
1119
1120 ptpengine:sync_outlier_filter_autotune_enable [BOOLEAN]
1121
1122 usage Enable automatic threshold control for Sync outlier
1123 filter.
1124
1125 default Y
1126
1127
1128 ptpengine:sync_outlier_filter_autotune_minpercent [INT: 0 .. 99]
1129
1130 usage Sync outlier filter autotune low watermark - minimum
1131 percentage of discarded samples in the update period
1132 before filter is tightened by the autotune step value
1133
1134 default 20
1135
1136
1137 ptpengine:sync_outlier_filter_autotune_maxpercent [INT: 1 .. 100]
1138
1139 usage Sync outlier filter autotune high watermark - maximum
1140 percentage of discarded samples in the update period
1141 before filter is loosened by the autotune step value
1142
1143 default 95
1144
1145
1146 ptpengine:sync_outlier_filter_autotune_step [FLOAT: 0.010000 ..
1147 10.000000]
1148
1149 usage The value the Sync outlier filter threshold is
1150 increased or decreased by when auto-tuning
1151
1152 default 0.100000
1153
1154
1155 ptpengine:sync_outlier_filter_autotune_minthreshold [FLOAT: 0.010000 ..
1156 10.000000]
1157
1158 usage Minimum Sync filter threshold value used when auto-tun‐
1159 ing
1160
1161 default 0.100000
1162
1163
1164 ptpengine:sync_outlier_filter_autotune_maxthreshold [FLOAT: 0.010000 ..
1165 10.000000]
1166
1167 usage Maximum Sync filter threshold value used when auto-tun‐
1168 ing
1169
1170 default 5.000000
1171
1172
1173 ptpengine:sync_outlier_weight [FLOAT: 0.010000 .. 2.000000]
1174
1175 usage Sync outlier weight: if an outlier is detected, this
1176 value determines the
1177 amount of its deviation from mean that is used to
1178 build the standard
1179 deviation statistics and influence further outlier
1180 detection.
1181 When set to 1.0, the outlier is used as is
1182
1183 default 1.000000
1184
1185
1186 ptpengine:sync_outlier_filter_stepdetect_enable [BOOLEAN]
1187
1188 usage Enable Sync filter step detection (delayMS) to block
1189 when certain level exceeded
1190
1191 default N
1192
1193
1194 ptpengine:sync_outlier_filter_stepdetect_threshold [INT: 50000 ..
1195 999999999]
1196
1197 usage Sync step detection threshold. Step detection is per‐
1198 formed only when delayMS is below this threshold
1199 (nanoseconds)
1200
1201 default 1000000
1202
1203
1204 ptpengine:sync_outlier_filter_stepdetect_level [INT: 50000 ..
1205 999999999]
1206
1207 usage Sync step level. When step detection enabled and opera‐
1208 tional, delayMS above this level (nanoseconds) is con‐
1209 sidered a clock step and updates are paused
1210
1211 default 500000
1212
1213
1214 ptpengine:sync_outlier_filter_stepdetect_credit [INT: 50 .. 1000]
1215
1216 usage Initial credit (number of samples) the Sync step detec‐
1217 tion filter can block for. When credit is exhausted,
1218 filter stops blocking. Credit is gradually restored
1219 (see ptpengine:sync_outlier_filter_stepde‐
1220 tect_credit_increment)
1221
1222 default 200
1223
1224
1225 ptpengine:sync_outlier_filter_stepdetect_credit_increment [INT: 1 ..
1226 100]
1227
1228 usage Amount of credit for the Sync step detection filter
1229 restored every full sample window
1230
1231 default 10
1232
1233
1234 ptpengine:sync_sequence_checking [BOOLEAN]
1235
1236 usage When enabled, Sync messages will only be accepted if
1237 sequence ID is increasing. note: This can cause the
1238 slave to temporarily lock up if GM restarts before
1239 announce timeout, so this is limited to 50 consecutive
1240 sequence errors. Alternatively,
1241 ptpengine:clock_update_timeout can be used to reset the
1242 slave beforehand.
1243
1244 default N
1245
1246
1247 ptpengine:clock_update_timeout [INT: 0 .. 3600]
1248
1249 usage If set to non-zero, time (seconds) before slave is
1250 reset back into PTP_LISTENING, if thetre were no clock
1251 updates. This is useful for situations where slave is
1252 in SLAVE state (receiving Announce) but is not receiv‐
1253 ing or not accepting Sync messages.
1254
1255 default 0
1256
1257
1258 ptpengine:calibration_delay [INT: 0 .. 300]
1259
1260 usage Delay between moving to slave state and enabling clock
1261 updates (seconds). This allows mean path delay to sta‐
1262 bilise before starting clock updates. Activated when
1263 going into slave state and during slave's GM failover.
1264 0 - not used.
1265
1266 default 0
1267
1268
1269 ptpengine:idle_timeout [INT: 10 .. 3600]
1270
1271 usage PTP idle timeout (seconds): if PTPd is in SLAVE state
1272 and there have been no clock updates for this amout of
1273 time, PTPd releases clock control.
1274
1275 default 0
1276
1277
1278 ptpengine:offset_alarm_threshold [INT: 0 .. 999999999]
1279
1280 usage PTP Slave Offset from Master alarm threshold (nanosec‐
1281 onds) - absolute value. When set to non-zero, an alarm
1282 is raised when PTP slave's offset from master crosses
1283 this value. The alarm is logged, indicated in the sta‐
1284 tus file, and SNMP traps are sent if SNMP is enabled.
1285 Similar notifications are created when offset returns
1286 within the threshold. When zet to 0, offset is not
1287 checked against the threshold.
1288
1289 default 0
1290
1291
1292 ptpengine:panic_mode [BOOLEAN]
1293
1294 usage Enable panic mode: when offset from master is above 1
1295 second, stop updating the clock for a period of time
1296 and then step the clock if offset remains above 1 sec‐
1297 ond.
1298
1299 default N
1300
1301
1302 ptpengine:panic_mode_duration [INT: 1 .. 60]
1303
1304 usage Duration (minutes) of the panic mode period (no clock
1305 updates) when offset above 1 second detected.
1306
1307 default 2
1308
1309
1310 ptpengine:panic_mode_release_clock [BOOLEAN]
1311
1312 usage When entering panic mode, release clock control while
1313 panic mode lasts. If not set, PTP will hold clock con‐
1314 trol during panic mode. If set together with
1315 ntpengine:* configured, this will fail over to NTP.
1316
1317 default N
1318
1319
1320 ptpengine:panic_mode_exit_threshold [INT: 0 .. 999999999]
1321
1322 usage Do not exit panic mode until offset drops below this
1323 value (nanoseconds). 0 = not used.
1324
1325 default 0
1326
1327
1328 ptpengine:pid_as_clock_identity [BOOLEAN]
1329
1330 usage Use PTPd's process ID as the middle part of the PTP
1331 clock ID - useful for running multiple instances.
1332
1333 default N
1334
1335
1336 ptpengine:ntp_failover [BOOLEAN]
1337
1338 usage Fail over to NTP when PTP time sync not available -
1339 requires ntpengine:enabled, but does not require the
1340 rest of NTP configuration: will warn instead of failing
1341 over if cannot control ntpd.
1342
1343 default N
1344
1345
1346 ptpengine:ntp_failover_timeout [INT: 0 .. 1800]
1347
1348 usage NTP failover timeout in seconds: time between PTP slave
1349 going into LISTENING state, and failing over to NTP. 0
1350 = fail over immediately. This setting controls the
1351 time provider election hold time.
1352
1353 default 60
1354
1355
1356 ptpengine:prefer_ntp [BOOLEAN]
1357
1358 usage Prefer NTP time synchronisation. Only use PTP when NTP
1359 not available. Could be used when NTP runs with a
1360 local GPS receiver or another hardware reference.
1361
1362 default N
1363
1364
1365 ptpengine:panic_mode_ntp [BOOLEAN]
1366
1367 usage Deprecated as of 2.3.1, but still supported: see ptp‐
1368 pengine:panic_mode_release_clock.
1369
1370 default N
1371
1372
1373 ptpengine:sigusr2_clears_counters [BOOLEAN]
1374
1375 usage Clear counters after dumping all counter values on
1376 SIGUSR2.
1377
1378 default N
1379
1380
1381 ptpengine:timing_acl_permit [STRING]
1382
1383 usage Permit access control list for timing and signaling
1384 messages. Format is a series of network prefixes and/or
1385 IP addresses separated by commas, spaces, tabs or semi‐
1386 colons. Accepted format is CIDR notation (a.b.c.d/mm),
1387 single IP address (a.b.c.d), or full network/mask
1388 (a.b.c.d/m.m.m.m). Shortcuts can be used: 172.16/12 is
1389 expanded to 172.16.0.0/12; 192.168/255.255 is expanded
1390 to 192.168.0.0/255.255.0.0, etc. The match is performed
1391 on the source IP address of the incoming messages. IP
1392 access lists are only supported when using the IP
1393 transport.
1394
1395 default [none]
1396
1397
1398 ptpengine:timing_acl_deny [STRING]
1399
1400 usage Deny access control list for timing and signaling mes‐
1401 sages. Format is a series of network prefixes and/or IP
1402 addresses separated by commas, spaces, tabs or semi‐
1403 colons. Accepted format is CIDR notation (a.b.c.d/mm),
1404 single IP address (a.b.c.d), or full network/mask
1405 (a.b.c.d/m.m.m.m). Shortcuts can be used: 172.16/12 is
1406 expanded to 172.16.0.0/12; 192.168/255.255 is expanded
1407 to 192.168.0.0/255.255.0.0, etc. The match is performed
1408 on the source IP address of the incoming messages. IP
1409 access lists are only supported when using the IP
1410 transport.
1411
1412 default [none]
1413
1414
1415 ptpengine:management_acl_permit [STRING]
1416
1417 usage Permit access control list for management messages.
1418 Format is a series of network prefixes and/or IP
1419 addresses separated by commas, spaces, tabs or semi‐
1420 colons. Accepted format is CIDR notation (a.b.c.d/mm),
1421 single IP address (a.b.c.d), or full network/mask
1422 (a.b.c.d/m.m.m.m). Shortcuts can be used: 172.16/12 is
1423 expanded to 172.16.0.0/12; 192.168/255.255 is expanded
1424 to 192.168.0.0/255.255.0.0, etc. The match is performed
1425 on the source IP address of the incoming messages. IP
1426 access lists are only supported when using the IP
1427 transport.
1428
1429 default [none]
1430
1431
1432 ptpengine:management_acl_deny [STRING]
1433
1434 usage Deny access control list for management messages. For‐
1435 mat is a series of network prefixes and/or IP addresses
1436 separated by commas, spaces, tabs or semicolons.
1437 Accepted format is CIDR notation (a.b.c.d/mm), single
1438 IP address (a.b.c.d), or full network/mask
1439 (a.b.c.d/m.m.m.m). Shortcuts can be used: 172.16/12 is
1440 expanded to 172.16.0.0/12; 192.168/255.255 is expanded
1441 to 192.168.0.0/255.255.0.0, etc. The match is performed
1442 on the source IP address of the incoming messages. IP
1443 access lists are only supported when using the IP
1444 transport.
1445
1446 default [none]
1447
1448
1449 ptpengine:timing_acl_order [SELECT]
1450
1451 options permit-deny deny-permit
1452
1453 usage Order in which permit and deny access lists are evalu‐
1454 ated for timing and signaling messages, the evaluation
1455 process is the same as for Apache httpd. See:
1456 http://httpd.apache.org/docs/cur‐
1457 rent/mod/mod_access_compat.html#order
1458
1459 default deny-permit
1460
1461
1462 ptpengine:management_acl_order [SELECT]
1463
1464 options permit-deny deny-permit
1465
1466 usage Order in which permit and deny access lists are evalu‐
1467 ated for management messages, the evaluation process is
1468 the same as for Apache httpd. See:
1469 http://httpd.apache.org/docs/cur‐
1470 rent/mod/mod_access_compat.html#order
1471
1472 default deny-permit
1473
1474
1475 clock:no_adjust [BOOLEAN]
1476
1477 usage Do not adjust the clock.
1478
1479 default N
1480
1481
1482 clock:no_reset [BOOLEAN]
1483
1484 usage Do not reset the clock - only slew.
1485
1486 default N
1487
1488
1489 clock:step_startup_force [BOOLEAN]
1490
1491 usage Force clock step on first sync after startup regardless
1492 of offset and clock:no_reset
1493
1494 default N
1495
1496
1497 clock:step_startup [BOOLEAN]
1498
1499 usage Step clock on startup only if offset >= 1 second,
1500 ignoring panic mode and clock:no_reset
1501
1502 default N
1503
1504
1505 clock:set_rtc_on_step [BOOLEAN]
1506
1507 usage Attempt setting the RTC when stepping clock (Linux only
1508 - FreeBSD does this for us. WARNING: this will always
1509 set the RTC to OS clock time, regardless of time zones,
1510 so this assumes that RTC runs in UTC or otherwise in
1511 the same timescale as PTP. True at least on most sin‐
1512 gle-boot x86 Linux systems.
1513
1514 default N
1515
1516
1517 clock:drift_handling [SELECT]
1518
1519 options reset preserve file
1520
1521 usage Observed drift handling method between servo restarts:
1522
1523 reset set to zero (not recommended)
1524
1525 preserve use kernel value
1526
1527 file load/save to drift file on
1528 startup/shutdown, use kernel value
1529 inbetween. To specify drift file, use
1530 the clock:drift_file setting.
1531
1532 default preserve
1533
1534
1535 clock:drift_file [STRING]
1536
1537 usage Specify drift file
1538
1539 default /etc/ptpd2_kernelclock.drift
1540
1541
1542 clock:leap_seconds_file [STRING]
1543
1544 usage Specify leap second file location (up to date version
1545 can be downloaded from: http://www.ietf.org/time‐
1546 zones/data/leap-seconds.list). When configured, PTP
1547 master will use data from this file to announce leap
1548 flags and UTC offset, overriding OS information, and
1549 PTP slave will use data from this file as well as
1550 information supplied by the GM. If configured, this
1551 file is always reloaded on configuration reload
1552 (SIGHUP), reloaded on clock step and reloaded after a
1553 leap second event to ensure the information is up to
1554 date. As of ptpd 2.3.1, the file is bundled with ptpd
1555 and is installed into (prefix)/share/ptpd/leap-sec‐
1556 onds.list.ddMMMyyyy where ddMMMyyyy is the leap seconds
1557 file expiry date.
1558
1559 default [none]
1560
1561
1562 clock:leap_second_pause_period [INT: 5 .. 600]
1563
1564 usage Time (seconds) before and after midnight that clock
1565 updates should be suspended for during a leap second
1566 event. The total duration of the pause is twice the
1567 configured duration. Clock updates are suspended when
1568 there is a leap second event pending and time to mid‐
1569 night is less than or equal to this value and resumed
1570 no earlier than this value after midnight. Clock
1571 updates are resumed in a controlled manner - after a
1572 control message, such as PTP announce. This ensures
1573 that the updated UTC offset is received before any fur‐
1574 ther clock updates.
1575
1576 default 5
1577
1578
1579 clock:leap_second_notice_period [INT: 3600 .. 86400]
1580
1581 usage Time (seconds) before midnight that PTPd starts
1582 announcing the leap second if it's running as master.
1583 The IEEE 1588 standard suggests 12 hours notice and
1584 this is the default, but it may be changed to allow
1585 more flexibility.
1586
1587 default 43200
1588
1589
1590 clock:leap_second_handling [SELECT]
1591
1592 options accept ignore step smear
1593
1594 usage Clock sync behaviour during leap second events:
1595
1596 accept Inform OS kernel about the leap second
1597 and let the kernel insert or delete the
1598 leap second
1599
1600 ignore Do not inform the kernel - this ends
1601 with a +/-1-second offset which is then
1602 slewed back down
1603
1604 step Do not inform the kernel and step the
1605 clock immediately after the leap second
1606 event
1607
1608 smear Gradually introduce an extra offset
1609 over a period of time before the leap
1610 second event, which accumulates to +/-1
1611 second (see clock:leap_sec‐
1612 ond_smear_period). Once the clock sta‐
1613 bilises, this results in a clock fre‐
1614 quency shift which is taken off after
1615 the event. Once the leap second event
1616 is over, the extra offset is also
1617 removed and time is back in line with
1618 master time.
1619
1620 default accept
1621
1622
1623 clock:leap_second_smear_period [INT: 3600 .. 86400]
1624
1625 usage When clock:leap_second_handling is set to smear, this
1626 setting defines the period (in seconds) before the leap
1627 second event, over which the leap second offset is
1628 gradually added. Example: when set to 24 hours (86400),
1629 an extra +/-11.5 microseconds is added every second
1630 (11.5 ppm clock frequency offset).
1631
1632 default 86400
1633
1634
1635
1636 clock:max_offset_ppm [INT: 500 .. 1000]
1637
1638 usage Maximum absolute frequency shift which can be applied
1639 to the clock servo when slewing the clock.
1640 Expressed in parts per million (1 ppm = shift of
1641 1 us per second. Values above 512 will use the tick
1642 duration correction to allow even faster slewing.
1643 Default maximum is 512 without using tick.
1644
1645 default 500
1646
1647
1648 servo:delayfilter_stiffness [INT]
1649
1650 usage Mean Path Delay filter stiffness.
1651
1652 default 6
1653
1654
1655 servo:kp [FLOAT: min: 0.000001 ]
1656
1657 usage Clock servo PI controller proportional component gain
1658 (kP).
1659
1660 default 0.100000
1661
1662
1663 servo:ki [FLOAT: min: 0.000001 ]
1664
1665 usage Clock servo PI controller integral component gain (kI).
1666
1667 default 0.001000
1668
1669
1670 servo:dt_method [SELECT]
1671
1672 options none constant measured
1673
1674 usage How servo update interval (delta t) is calculated:
1675
1676 none servo not corrected for update interval
1677 (dt always 1),
1678
1679 constant constant value (target servo update
1680 rate) - sync interval for PTP,
1681
1682 measured servo measures how often it's updated
1683 and uses this interval.
1684
1685 default constant
1686
1687
1688 servo:dt_max [FLOAT: 1.500000 .. 100.000000]
1689
1690 usage Maximum servo update interval (delta t) when using mea‐
1691 sured servo update interval (servo:dt_method = mea‐
1692 sured), specified as sync interval multiplier
1693
1694 default 5.000000
1695
1696
1697 servo:stability_detection [BOOLEAN]
1698
1699 usage Enable clock synchronisation servo stability detection
1700 (based on standard deviation of the observed drift
1701 value) - drift will be saved to drift file / cached
1702 when considered stable, also clock stability status
1703 will be logged.
1704
1705 default N
1706
1707
1708 servo:stability_threshold [FLOAT: 1.000000 .. 10000.000000]
1709
1710 usage Specify the observed drift standard deviation threshold
1711 in parts per billion (ppb) - if stanard deviation is
1712 within the threshold, servo is considered stable.
1713
1714 default 5.000000
1715
1716
1717 servo:stability_period [INT: 1 .. 100]
1718
1719 usage Specify for how many statistics update intervals the
1720 observed drift standard deviation has to stay within
1721 threshold to be considered stable.
1722
1723 default 3
1724
1725
1726 servo:stability_timeout [INT: 1 .. 60]
1727
1728 usage Specify after how many minutes without stabilisation
1729 servo is considered unstable. Assists with logging
1730 servo stability information and allows to preserve
1731 observed drift if servo cannot stabilise.
1732
1733 default 10
1734
1735
1736 servo:max_delay [INT: 0 .. 999999999]
1737
1738 usage Do not accept master to slave delay (delayMS - from
1739 Sync message) or slave to master delay (delaySM - from
1740 Delay Response message) if greater than this value
1741 (nanoseconds). 0 = not used.
1742
1743 default 0
1744
1745
1746 servo:max_delay_max_rejected [INT: min: 0 ]
1747
1748 usage Maximum number of consecutive rejected delay measure‐
1749 ments exceeding the maxDelay threshold
1750 (servo:max_delay), before slave is reset. 0 = not
1751 checked.
1752
1753 default 0
1754
1755
1756 servo:max_delay_stable_only [BOOLEAN]
1757
1758 usage If servo:max_delay is set, perform the check only if
1759 clock servo has stabilised.
1760
1761 default N
1762
1763
1764 servo:max_offset [INT: 0 .. 999999999]
1765
1766 usage Do not reset the clock if offset from master is greater
1767 than this value (nanoseconds). 0 = not used.
1768
1769 default 0
1770
1771
1772 global:config_templates [STRING]
1773
1774 usage Comma, space or tab-separated list of template names to
1775 be applied to the configuration (see CONFIGURATION TEM‐
1776 PLATES AND TEMPLATE FILES section). Templates are
1777 applied in the order they are specified, so any over‐
1778 lapping settings from one template are overridden with
1779 settings from the following template(s). PTPd provides
1780 some built-in templates - see the templates section
1781 above; to see the built-in templates, run ptpd with -T
1782 or --show-templates.
1783
1784 default [none]
1785
1786
1787 global:template_files [STRING]
1788
1789 usage Comma, space or tab-separated list of template file
1790 paths to be loaded (see CONFIGURATION TEMPLATES AND
1791 TEMPLATE FILES section). Template files are also loaded
1792 in the order they are provided, so templates in one
1793 file can be extended by templates in the next file(s);
1794 any overlapping settings are overridden by following
1795 files. PTPd will not exit when one or more template
1796 files cannot be opened. PTPd will always try to load
1797 /usr/share/ptpd/templates.conf on startup.
1798
1799 default [none]
1800
1801
1802 global:enable_alarms [BOOLEAN]
1803
1804 usage Enable support for alarm and event notifications (see
1805 ALARMS section). Alarms enable self-diagnosing of com‐
1806 mon error conditions and events such as master change
1807 or time properties change. When SNMP support is enabled
1808 (global:enable_snmp) and SNMP trap support is enabled
1809 (global:enable_snmp_traps), alarms trigger SNMP traps.
1810
1811 default N
1812
1813
1814 global:alarm_timeout [INT: 0 .. 3600]
1815
1816 usage Mininmum alarm age (seconds) - minimal time between
1817 alarm set and clear notifications. The condition can
1818 clear while alarm lasts, but notification (log or SNMP)
1819 will only be triggered after the timeout. This option
1820 prevents from alarms flapping (repeated set and clear
1821 notifications).
1822
1823 default 30
1824
1825
1826 global:alarm_initial_delay [INT: 0 .. 3600]
1827
1828 usage Delay the start of alarm processing (seconds) after
1829 ptpd startup. This option allows to avoid unnecessary
1830 alarms before PTPd starts synchronising, which should
1831 happen after a few seconds, but could take longer in
1832 cases where multicast has to converge upstream, or when
1833 there is a mismatch in message intervals and unicast
1834 signaling has to negotiate them down (or up) to accept‐
1835 able values. This also prevents from alerting on offset
1836 from master too soon after startup (see ptpengine:off‐
1837 set_alarm_threshold) - delay can be increased to cover
1838 the initial sync period, however this is not recom‐
1839 mended as an offset alarm after startup can indicate a
1840 slave cold start.
1841
1842 default 10
1843
1844
1845 global:enable_snmp [BOOLEAN]
1846
1847 usage Enable SNMP agent (if compiled with PTPD_SNMP).
1848
1849 default N
1850
1851
1852 global:enable_snmp_traps [BOOLEAN]
1853
1854 usage Enable reporting of alarms and events as SNMP traps.
1855 Requires PTPd to be compiled with PTPD_SNMP, and
1856 requires alarms to be enabled (global:enable_alarms)
1857
1858 default N
1859
1860
1861 global:use_syslog [BOOLEAN]
1862
1863 usage Send log messages to syslog. Disabling this sends all
1864 messages to stdout (or speficied log file).
1865
1866 default N
1867
1868
1869 global:lock_file [STRING]
1870
1871 usage Lock file location
1872
1873 default [none]
1874
1875
1876 global:auto_lockfile [BOOLEAN]
1877
1878 usage Use mode specific and interface specific lock file
1879 (overrides global:lock_file).
1880
1881 default N
1882
1883
1884 global:lock_directory [STRING]
1885
1886 usage Lock file directory: used with automatic mode-specific
1887 lock files, also used when no lock file is specified.
1888 When lock file is specified, it's expected to be an
1889 absolute path.
1890
1891 default /var/run
1892
1893
1894 global:ignore_lock [BOOLEAN]
1895
1896 usage Skip lock file checking and locking.
1897
1898 default N
1899
1900
1901 global:quality_file [STRING]
1902
1903 usage File used to record data about sync packets. Enables
1904 recording when set.
1905
1906 default [none]
1907
1908
1909 global:quality_file_max_size [INT: min: 0 ]
1910
1911 usage Maximum sync packet record file size (in kB) - file
1912 will be truncated if size exceeds the limit. 0 - no
1913 limit.
1914
1915 default 0
1916
1917
1918 global:quality_file_max_files [INT: 0 .. 100]
1919
1920 usage Enable log rotation of the sync packet record file up
1921 to n files. 0 - do not rotate.
1922
1923 default 0
1924
1925
1926 global:quality_file_truncate [BOOLEAN]
1927
1928 usage Truncate the sync packet record file every time it is
1929 (re) opened: startup and SIGHUP.
1930
1931 default N
1932
1933
1934 global:status_file [STRING]
1935
1936 usage File used to log ptpd2 status information.
1937
1938 default /var/run/ptpd2.status
1939
1940
1941 global:log_status [BOOLEAN]
1942
1943 usage Enable / disable writing status information to file.
1944
1945 default N
1946
1947
1948 global:status_update_interval [INT: 1 .. 30]
1949
1950 usage Status file update interval in seconds.
1951
1952 default 1
1953
1954
1955 global:log_file [STRING]
1956
1957 usage Specify log file path (event log). Setting this enables
1958 logging to file.
1959
1960 default [none]
1961
1962
1963 global:log_file_max_size [INT: min: 0 ]
1964
1965 usage Maximum log file size (in kB) - log file will be trun‐
1966 cated if size exceeds the limit. 0 - no limit.
1967
1968 default 0
1969
1970
1971 global:log_file_max_files [INT: 0 .. 100]
1972
1973 usage Enable log rotation of the sync packet record file up
1974 to n files. 0 - do not rotate.
1975
1976
1977 default 0
1978
1979
1980 global:log_file_truncate [BOOLEAN]
1981
1982 usage Truncate the log file every time it is (re) opened:
1983 startup and SIGHUP.
1984
1985 default N
1986
1987
1988 global:log_level [SELECT]
1989
1990 options LOG_ERR LOG_WARNING LOG_NOTICE LOG_INFO LOG_ALL
1991
1992 usage Specify log level (only messages at this priority or
1993 higer will be logged). The minimal level is LOG_ERR.
1994 LOG_ALL enables debug output if compiled with RUN‐
1995 TIME_DEBUG.
1996
1997 default LOG_ALL
1998
1999
2000 global:statistics_file [STRING]
2001
2002 usage Specify statistics log file path. Setting this enables
2003 logging of statistics, but can be overriden with
2004 global:log_statistics.
2005
2006 default [none]
2007
2008
2009 global:statistics_log_interval [INT: min: 0 ]
2010
2011 usage Log timing statistics every n seconds for Sync and
2012 Delay messages (0 - log all).
2013
2014 default 0
2015
2016
2017 global:statistics_file_max_size [INT: min: 0 ]
2018
2019 usage Maximum statistics log file size (in kB) - log file
2020 will be truncated if size exceeds the limit. 0 - no
2021 limit.
2022
2023 default 0
2024
2025
2026 global:statistics_file_max_files [INT: 0 .. 100]
2027
2028 usage Enable log rotation of the statistics file up to n
2029 files. 0 - do not rotate.
2030
2031 default 0
2032
2033
2034 global:statistics_file_truncate [BOOLEAN]
2035
2036 usage Truncate the statistics file every time it is (re)
2037 opened: startup and SIGHUP.
2038
2039 default N
2040
2041
2042 global:dump_packets [BOOLEAN]
2043
2044 usage Dump the contents of every PTP packet.
2045
2046 default N
2047
2048
2049 global:verbose_foreground [BOOLEAN]
2050
2051 usage Run in foreground with statistics and all messages
2052 logged to stdout. Overrides log file and statistics
2053 file settings and disables syslog.
2054
2055
2056 default N
2057
2058
2059 global:foreground [BOOLEAN]
2060
2061 usage Run in foreground - ignored when global:verbose_fore‐
2062 ground is set.
2063
2064 default N
2065
2066
2067 global:log_statistics [BOOLEAN]
2068
2069 usage Log timing statistics for every PTP packet received.
2070 Output is in CSV format and field headers are always
2071 printed when starting or refreshing the statistics log.
2072
2073 default N
2074
2075
2076 global:statistics_timestamp_format [SELECT]
2077
2078 options datetime unix both
2079
2080 usage Timestamp format used when logging timing statistics
2081 (when global:log_statistics is enabled):
2082
2083 datetime Formatted date and time: YYYY-MM-DD
2084 hh:mm:ss.uuuuuu
2085
2086 unix Unix timestamp with nanoseconds: s.ns
2087
2088 both Formatted date and time followed by
2089 unix timestamp (adds one extra field
2090 to the log)
2091
2092 default datetime
2093
2094
2095 global:periodic_updates [BOOLEAN]
2096
2097 usage Log a status update every time statistics are updated
2098 (global:statistics_update_interval). This update is
2099 written to the main log target. Status updates are
2100 logged even if ptpd is configured without support for
2101 statistics.
2102
2103 default N
2104
2105
2106 global:cpuaffinity_cpucore [INT: -1 .. 255]
2107
2108 usage Bind ptpd2 process to a selected CPU core number. 0 =
2109 first CPU core, etc. -1 = do not bind to a single core.
2110
2111 default 0
2112
2113
2114 global:statistics_update_interval [INT: 1 .. 60]
2115
2116 usage Clock synchronisation statistics update interval in
2117 seconds. Also controls how often periodic status infor‐
2118 mation is logged (when using global:statis‐
2119 tics_update_interval).
2120
2121 default 30
2122
2123
2124 global:timingdomain_election_delay [INT: 0 .. 3600 ]
2125
2126 usage Delay (seconds) before releasing a time service (NTP or
2127 PTP) and electing a new one to control a clock. 0 =
2128 elect immediately
2129
2130 default 15
2131
2132
2133 ntpengine:enabled [BOOLEAN]
2134
2135 usage Enable NTPd integration
2136
2137 default N
2138
2139
2140 ntpengine:control_enabled [BOOLEAN]
2141
2142 usage Enable control over local NTPd daemon
2143
2144 default N
2145
2146
2147 ntpengine:check_interval [INT: 5 .. 600]
2148
2149 usage NTP control check interval in seconds
2150
2151 default 15
2152
2153
2154 ntpengine:key_id [INT: 0 .. 65535]
2155
2156 usage NTP key number - must be configured as a trusted con‐
2157 trol key in ntp.conf, and be non-zero for the
2158 ntpengine:control_enabled setting to take effect.
2159
2160 default 0
2161
2162
2163 ntpengine:key [STRING]
2164
2165 usage NTP key (plain text, max. 20 characters) - must match
2166 the key configured in ntpd's keys file, and must be
2167 non-zero for the ntpengine:control_enabled setting to
2168 take effect.
2169
2170 default [none]
2171
2172
2173
2175 Configuration file support has only been introduced in version 2.3.
2176 There may still be some inconsistencies in the way some settings are
2177 parsed and while order should not make any difference, for some complex
2178 behaviours it may still be the case.
2179
2180 Please report any bugs using the bug tracker on the SourceForge page:
2181 http://sourceforge.net/projects/ptpd/
2182
2183
2185 ptpd2(8)
2186
2187
2189 Steven Kreuzer <skreuzer@freebsd.org>
2190
2191 Gael Mace <gael_mace@users.sourceforge.net>
2192
2193 George Neville-Neil <gnn@freebsd.org>
2194
2195 Wojciech Owczarek <wojciech@owczarek.co.uk>
2196
2197 Alexandre Van Kempen
2198
2199 ptpd2.conf(5) man page first written by Wojciech Owczarek for ptpd
2200 2.3.0 in November 2013
2201
2202
2203
2204version 2.3.2 October, 2015 ptpd2.conf(5)