mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-03 06:04:53 +00:00
Update to version 2.3.0
This commit is contained in:
parent
4606b56daf
commit
6c6d6f3e34
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=343126
@ -2,35 +2,43 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= ptpd
|
||||
DISTVERSION= 2.2.2
|
||||
PORTREVISION= 2
|
||||
DISTVERSION= 2.3.0
|
||||
CATEGORIES= net
|
||||
MASTER_SITES= SF
|
||||
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTVERSION}
|
||||
PKGNAMESUFFIX= 2
|
||||
|
||||
MAINTAINER= skreuzer@FreeBSD.org
|
||||
COMMENT= Implementation of the precision time protocol IEEE 1588-2008
|
||||
|
||||
LICENSE= BSD
|
||||
LICENSE= BSD2CLAUSE
|
||||
|
||||
CONFLICTS= ptpd2-devel.*
|
||||
|
||||
WRKSRC= ${WRKDIR}/ptpd-${DISTVERSION}/src
|
||||
LIB_DEPENDS+= libnetsnmp.so:${PORTSDIR}/net-mgmt/net-snmp
|
||||
|
||||
ETCDIR= ${PREFIX}/etc/${PORTNAME}${PKGNAMESUFFIX}
|
||||
|
||||
USES= gmake
|
||||
GNU_CONFIGURE= yes
|
||||
USE_AUTOTOOLS= autoconf:env aclocal:env automake:env libtool
|
||||
|
||||
PLIST_FILES= sbin/ptpd2
|
||||
PORTDOCS= *
|
||||
|
||||
USE_RC_SUBR= ptpd2
|
||||
|
||||
MAN8= ptpd2.8
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
NO_STAGE= yes
|
||||
do-install::
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME}2 ${PREFIX}/sbin
|
||||
${INSTALL_MAN} ${WRKSRC}/${PORTNAME}2.8 ${MANPREFIX}/man/man8
|
||||
.if !defined(NOPORTDOCS)
|
||||
${MKDIR} ${DOCSDIR}
|
||||
cd ${WRKDIR}/ptpd-${DISTVERSION}/doc && ${COPYTREE_SHARE} . ${DOCSDIR}
|
||||
run-autotools: run-autotools-autoreconf
|
||||
|
||||
run-autotools-autoreconf:
|
||||
@cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTORECONF} -i
|
||||
|
||||
post-install:
|
||||
.if ${PORT_OPTIONS:MDOCS}
|
||||
${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||
cd ${WRKDIR}/ptpd-${DISTVERSION}/doc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}
|
||||
.endif
|
||||
${MKDIR} ${STAGEDIR}${ETCDIR}
|
||||
${CP} ${FILESDIR}/*.sample ${STAGEDIR}${ETCDIR}
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1,2 +1,2 @@
|
||||
SHA256 (ptpd-2.2.2.tar.gz) = 8db14041fbf88dffdf20dac8da0f559491b81eb6fbdb366d484b3dadfbaee95b
|
||||
SIZE (ptpd-2.2.2.tar.gz) = 634289
|
||||
SHA256 (ptpd-2.3.0.tar.gz) = 1a4e90496f004bfd91657ccc49209101dc25b787e540648c07c0973469f1d8f7
|
||||
SIZE (ptpd-2.3.0.tar.gz) = 785362
|
||||
|
448
net/ptpd2/files/client-e2e-8023.conf.sample
Normal file
448
net/ptpd2/files/client-e2e-8023.conf.sample
Normal file
@ -0,0 +1,448 @@
|
||||
; ========================================
|
||||
; PTPDv2 version 2.3.0 PCAP client 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 (required)
|
||||
ptpengine:interface = igb0
|
||||
|
||||
; 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 = slaveonly
|
||||
|
||||
; IP transmission mode (requires IP transport) - hybrid mode uses
|
||||
; multicast for sync and announce, and unicast for delay request /
|
||||
; response
|
||||
; Options: multicast unicast hybrid
|
||||
;ptpengine:ip_mode = multicast
|
||||
|
||||
; Transport type for PTP packets
|
||||
; Options: ipv4 ethernet
|
||||
ptpengine:transport = ethernet
|
||||
|
||||
; 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 (if set, overrides preset setting and sets clock class to 255)
|
||||
ptpengine:slave_only = Y
|
||||
|
||||
; Specify latency correction for incoming packets
|
||||
ptpengine:inbound_latency = 0
|
||||
|
||||
; Specify latency correction for outgoing packets
|
||||
ptpengine:outbound_latency = 0
|
||||
|
||||
; Compatibility option: In slave state, always respect UTC offset
|
||||
; announced by best master, even if the the
|
||||
; currrentUtcOffsetValid flag is announced FALSE
|
||||
ptpengine:always_respect_utc_offset = 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_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_timeout_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
|
||||
|
||||
; Initial delay request message interval for slave mode, before first
|
||||
; delay response is received (expressed as log 2 i.e. -1=0.5s, 0=1s,
|
||||
; 1=2s etc.)
|
||||
ptpengine:log_delayreq_interval_initial = 0
|
||||
|
||||
; Minimum delay request message interval in master state, in slave
|
||||
; mode 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 master state.
|
||||
; (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.)
|
||||
ptpengine:log_peer_delayreq_interval = 1
|
||||
|
||||
; Maximum number of foreign masters (foreign master record size
|
||||
; allocated at startup)
|
||||
|
||||
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 timescale, UTC
|
||||
; properties are ignored by slaves), when clock class 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 = INTERNAL_OSCILLATOR
|
||||
|
||||
; Clock class - announced in master state. Always 255 for slave-only mode.
|
||||
; 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 = 255
|
||||
|
||||
; Priority 1 value announced in master state and used for Best Master
|
||||
; Clock selection
|
||||
ptpengine:priority1 = 128
|
||||
|
||||
; Priority 2 value announced in master state and 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 =
|
||||
|
||||
; Send explicit IGMP joins between servo resets
|
||||
ptpengine:igmp_refresh = Y
|
||||
|
||||
; Multicast time to live for multicast PTP packets (ignored and set to
|
||||
; 1 for peer to peer messages)
|
||||
ptpengine:multicast_ttl = 16
|
||||
|
||||
; DiffServ CodepPoint for packet prioritisation (decimal). When set to
|
||||
; zero, this option is not used.
|
||||
; 46 = Expedited Forwarding (0x2e)
|
||||
ptpengine:ip_dscp = 0
|
||||
|
||||
; Use PTP alternative multicast group like PTPv1 (if compiled with
|
||||
; PTPD_EXPERIMENTAL):
|
||||
; 0 = 224.0.1.129, 1 = 224.0.1.130, 2 = 224.0.1.131, 3 = 224.0.1.132
|
||||
ptpengine:alt_mcast_group = 0
|
||||
|
||||
; Enable outlier filter for the Delay Response component in slave state
|
||||
ptpengine:delay_outlier_filter_enable = Y
|
||||
|
||||
; Delay Response outlier filter action. If set to 'filter', outliers
|
||||
; are replaced with moving average
|
||||
; Options: discard filter
|
||||
ptpengine:delay_outlier_filter_action = filter
|
||||
|
||||
; Number of samples in the Delay Response outlier filter buffer
|
||||
ptpengine:delay_outlier_filter_capacity = 20
|
||||
|
||||
; Delay Response 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:delay_outlier_filter_threshold = 1.000000
|
||||
|
||||
; Delay Response 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: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 = filter
|
||||
|
||||
; 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
|
||||
|
||||
; 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
|
||||
; expressed as number of statistics update periods (see
|
||||
; global:statistics_update_interval). This allows one-way delay to
|
||||
; stabilise before starting clock updates. Activated when going into
|
||||
; slave state and during GM failover in slave state.
|
||||
; 0 - not used.
|
||||
ptpengine:calibration_delay = 0
|
||||
|
||||
; 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 = Y
|
||||
|
||||
; Duration of the panic mode period (no clock updates) when offset
|
||||
; above 1 second detected
|
||||
ptpengine:panic_mode_duration = 2
|
||||
|
||||
; Use JobID (PID) for UUID
|
||||
ptpengine:pid_as_clock_idendity = 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 failing over to NTP. 0 = fail over immediately.
|
||||
ptpengine:ntp_failover_timeout = 60
|
||||
|
||||
; Prefer NTP time synchronisation when not controlling the clock (all
|
||||
; states, including slave when clock:no_adjust set)
|
||||
ptpengine:prefer_ntp = N
|
||||
|
||||
; When entering panic mode, fail over to NTP (after the NTP failover
|
||||
; timeout period) - requires ntpengine:enabled but does not require
|
||||
; the rest of NTP configuration - will warn instead of failing over if
|
||||
; it cannot control ntpd.
|
||||
ptpengine:panic_mode_ntp = N
|
||||
|
||||
; Do not adjust the clock
|
||||
clock:no_adjust = N
|
||||
|
||||
; Do not reset the clock - only slew
|
||||
clock:no_reset = N
|
||||
|
||||
; Observed drift handling method between servo restarts:
|
||||
; reset: set to zero (not recommended)
|
||||
; preserve: use kernel value,
|
||||
; file: load and 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.1
|
||||
|
||||
; Clock servo PI controller integral component gain (kI)
|
||||
servo:ki = 0.001
|
||||
|
||||
; Maximum accepted delayMS value in nanoseconds (Sync).
|
||||
; 0 = not checked.
|
||||
servo:max_delay = 10000000
|
||||
|
||||
; 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 = 5.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 = 3
|
||||
|
||||
; 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 not reset the clock if offset from master is greater
|
||||
; than this value (nanoseconds). 0 = not used.
|
||||
servo:max_offset = 10000000
|
||||
|
||||
; 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 files (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. Setting this enables recording.
|
||||
global:quality_file = /usr/scratch/log/ptpd.quality
|
||||
|
||||
; 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 -
|
||||
; on startup and SIGHUP
|
||||
global:quality_file_truncate = N
|
||||
|
||||
; File used to log ptpd2 status information
|
||||
global:status_file = /usr/scratch/log/ptpd2.status.log
|
||||
|
||||
; 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 = /usr/scratch/log/ptpd.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 - on startup and SIGHUP
|
||||
global:log_file_truncate = N
|
||||
|
||||
; Specify log level (only messages of the specified 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 = /usr/scratch/log/ptpd.log
|
||||
|
||||
; Log timing statistics every n seconds for Sync and Delay Response
|
||||
; 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 - on
|
||||
; 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
|
||||
global:foreground = N
|
||||
|
||||
; Log timing statistics for every PTP packet received
|
||||
global:log_statistics = Y
|
||||
|
||||
; Linux only: 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 = 5
|
||||
|
||||
; 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 must 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 ==========
|
||||
|
448
net/ptpd2/files/client-e2e-pcap.conf.sample
Normal file
448
net/ptpd2/files/client-e2e-pcap.conf.sample
Normal file
@ -0,0 +1,448 @@
|
||||
; ========================================
|
||||
; PTPDv2 version 2.3.0 PCAP client 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 (required)
|
||||
ptpengine:interface = igb0
|
||||
|
||||
; 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 = slaveonly
|
||||
|
||||
; IP transmission mode (requires IP transport) - hybrid mode uses
|
||||
; multicast for sync and announce, and unicast for delay request /
|
||||
; response
|
||||
; 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 = Y
|
||||
|
||||
; 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 (if set, overrides preset setting and sets clock class to 255)
|
||||
ptpengine:slave_only = Y
|
||||
|
||||
; Specify latency correction for incoming packets
|
||||
ptpengine:inbound_latency = 0
|
||||
|
||||
; Specify latency correction for outgoing packets
|
||||
ptpengine:outbound_latency = 0
|
||||
|
||||
; Compatibility option: In slave state, always respect UTC offset
|
||||
; announced by best master, even if the the
|
||||
; currrentUtcOffsetValid flag is announced FALSE
|
||||
ptpengine:always_respect_utc_offset = 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_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_timeout_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
|
||||
|
||||
; Initial delay request message interval for slave mode, before first
|
||||
; delay response is received (expressed as log 2 i.e. -1=0.5s, 0=1s,
|
||||
; 1=2s etc.)
|
||||
ptpengine:log_delayreq_interval_initial = 0
|
||||
|
||||
; Minimum delay request message interval in master state, in slave
|
||||
; mode 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 master state.
|
||||
; (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.)
|
||||
ptpengine:log_peer_delayreq_interval = 1
|
||||
|
||||
; Maximum number of foreign masters (foreign master record size
|
||||
; allocated at startup)
|
||||
|
||||
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 timescale, UTC
|
||||
; properties are ignored by slaves), when clock class 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 = INTERNAL_OSCILLATOR
|
||||
|
||||
; Clock class - announced in master state. Always 255 for slave-only mode.
|
||||
; 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 = 255
|
||||
|
||||
; Priority 1 value announced in master state and used for Best Master
|
||||
; Clock selection
|
||||
ptpengine:priority1 = 128
|
||||
|
||||
; Priority 2 value announced in master state and 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 =
|
||||
|
||||
; Send explicit IGMP joins between servo resets
|
||||
ptpengine:igmp_refresh = Y
|
||||
|
||||
; Multicast time to live for multicast PTP packets (ignored and set to
|
||||
; 1 for peer to peer messages)
|
||||
ptpengine:multicast_ttl = 16
|
||||
|
||||
; DiffServ CodepPoint for packet prioritisation (decimal). When set to
|
||||
; zero, this option is not used.
|
||||
; 46 = Expedited Forwarding (0x2e)
|
||||
ptpengine:ip_dscp = 0
|
||||
|
||||
; Use PTP alternative multicast group like PTPv1 (if compiled with
|
||||
; PTPD_EXPERIMENTAL):
|
||||
; 0 = 224.0.1.129, 1 = 224.0.1.130, 2 = 224.0.1.131, 3 = 224.0.1.132
|
||||
ptpengine:alt_mcast_group = 0
|
||||
|
||||
; Enable outlier filter for the Delay Response component in slave state
|
||||
ptpengine:delay_outlier_filter_enable = Y
|
||||
|
||||
; Delay Response outlier filter action. If set to 'filter', outliers
|
||||
; are replaced with moving average
|
||||
; Options: discard filter
|
||||
ptpengine:delay_outlier_filter_action = filter
|
||||
|
||||
; Number of samples in the Delay Response outlier filter buffer
|
||||
ptpengine:delay_outlier_filter_capacity = 20
|
||||
|
||||
; Delay Response 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:delay_outlier_filter_threshold = 1.000000
|
||||
|
||||
; Delay Response 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: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 = filter
|
||||
|
||||
; 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
|
||||
|
||||
; 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
|
||||
; expressed as number of statistics update periods (see
|
||||
; global:statistics_update_interval). This allows one-way delay to
|
||||
; stabilise before starting clock updates. Activated when going into
|
||||
; slave state and during GM failover in slave state.
|
||||
; 0 - not used.
|
||||
ptpengine:calibration_delay = 0
|
||||
|
||||
; 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 = Y
|
||||
|
||||
; Duration of the panic mode period (no clock updates) when offset
|
||||
; above 1 second detected
|
||||
ptpengine:panic_mode_duration = 2
|
||||
|
||||
; Use JobID (PID) for UUID
|
||||
ptpengine:pid_as_clock_idendity = 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 failing over to NTP. 0 = fail over immediately.
|
||||
ptpengine:ntp_failover_timeout = 60
|
||||
|
||||
; Prefer NTP time synchronisation when not controlling the clock (all
|
||||
; states, including slave when clock:no_adjust set)
|
||||
ptpengine:prefer_ntp = N
|
||||
|
||||
; When entering panic mode, fail over to NTP (after the NTP failover
|
||||
; timeout period) - requires ntpengine:enabled but does not require
|
||||
; the rest of NTP configuration - will warn instead of failing over if
|
||||
; it cannot control ntpd.
|
||||
ptpengine:panic_mode_ntp = N
|
||||
|
||||
; Do not adjust the clock
|
||||
clock:no_adjust = N
|
||||
|
||||
; Do not reset the clock - only slew
|
||||
clock:no_reset = N
|
||||
|
||||
; Observed drift handling method between servo restarts:
|
||||
; reset: set to zero (not recommended)
|
||||
; preserve: use kernel value,
|
||||
; file: load and 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.1
|
||||
|
||||
; Clock servo PI controller integral component gain (kI)
|
||||
servo:ki = 0.001
|
||||
|
||||
; Maximum accepted delayMS value in nanoseconds (Sync).
|
||||
; 0 = not checked.
|
||||
servo:max_delay = 10000000
|
||||
|
||||
; 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 = 5.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 = 3
|
||||
|
||||
; 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 not reset the clock if offset from master is greater
|
||||
; than this value (nanoseconds). 0 = not used.
|
||||
servo:max_offset = 10000000
|
||||
|
||||
; 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 files (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. Setting this enables recording.
|
||||
global:quality_file = /usr/scratch/log/ptpd.quality
|
||||
|
||||
; 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 -
|
||||
; on startup and SIGHUP
|
||||
global:quality_file_truncate = N
|
||||
|
||||
; File used to log ptpd2 status information
|
||||
global:status_file = /usr/scratch/log/ptpd2.status.log
|
||||
|
||||
; 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 = /usr/scratch/log/ptpd.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 - on startup and SIGHUP
|
||||
global:log_file_truncate = N
|
||||
|
||||
; Specify log level (only messages of the specified 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 = /usr/scratch/log/ptpd.log
|
||||
|
||||
; Log timing statistics every n seconds for Sync and Delay Response
|
||||
; 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 - on
|
||||
; 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
|
||||
global:foreground = N
|
||||
|
||||
; Log timing statistics for every PTP packet received
|
||||
global:log_statistics = Y
|
||||
|
||||
; Linux only: 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 = 5
|
||||
|
||||
; 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 must 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 ==========
|
||||
|
448
net/ptpd2/files/client-e2e-socket.conf.sample
Normal file
448
net/ptpd2/files/client-e2e-socket.conf.sample
Normal file
@ -0,0 +1,448 @@
|
||||
; ========================================
|
||||
; PTPDv2 version 2.3.0-svn 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 (required)
|
||||
ptpengine:interface = igb0
|
||||
|
||||
; 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 = slaveonly
|
||||
|
||||
; IP transmission mode (requires IP transport) - hybrid mode uses
|
||||
; multicast for sync and announce, and unicast for delay request /
|
||||
; response
|
||||
; 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 (if set, overrides preset setting and sets clock class to 255)
|
||||
ptpengine:slave_only = Y
|
||||
|
||||
; Specify latency correction for incoming packets
|
||||
ptpengine:inbound_latency = 0
|
||||
|
||||
; Specify latency correction for outgoing packets
|
||||
ptpengine:outbound_latency = 0
|
||||
|
||||
; Compatibility option: In slave state, always respect UTC offset
|
||||
; announced by best master, even if the the
|
||||
; currrentUtcOffsetValid flag is announced FALSE
|
||||
ptpengine:always_respect_utc_offset = 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_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_timeout_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
|
||||
|
||||
; Initial delay request message interval for slave mode, before first
|
||||
; delay response is received (expressed as log 2 i.e. -1=0.5s, 0=1s,
|
||||
; 1=2s etc.)
|
||||
ptpengine:log_delayreq_interval_initial = 0
|
||||
|
||||
; Minimum delay request message interval in master state, in slave
|
||||
; mode 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 master state.
|
||||
; (expressed as log 2 i.e. -1=0.5s, 0=1s, 1=2s etc.)
|
||||
ptpengine:log_peer_delayreq_interval = 1
|
||||
|
||||
; Maximum number of foreign masters (foreign master record size
|
||||
; allocated at startup)
|
||||
|
||||
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 timescale, UTC
|
||||
; properties are ignored by slaves), when clock class 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 = INTERNAL_OSCILLATOR
|
||||
|
||||
; Clock class - announced in master state. Always 255 for slave-only mode.
|
||||
; 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 = 255
|
||||
|
||||
; Priority 1 value announced in master state and used for Best Master
|
||||
; Clock selection
|
||||
ptpengine:priority1 = 128
|
||||
|
||||
; Priority 2 value announced in master state and 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 =
|
||||
|
||||
; Send explicit IGMP joins between servo resets
|
||||
ptpengine:igmp_refresh = Y
|
||||
|
||||
; Multicast time to live for multicast PTP packets (ignored and set to
|
||||
; 1 for peer to peer messages)
|
||||
ptpengine:multicast_ttl = 16
|
||||
|
||||
; DiffServ CodepPoint for packet prioritisation (decimal). When set to
|
||||
; zero, this option is not used.
|
||||
; 46 = Expedited Forwarding (0x2e)
|
||||
ptpengine:ip_dscp = 0
|
||||
|
||||
; Use PTP alternative multicast group like PTPv1 (if compiled with
|
||||
; PTPD_EXPERIMENTAL):
|
||||
; 0 = 224.0.1.129, 1 = 224.0.1.130, 2 = 224.0.1.131, 3 = 224.0.1.132
|
||||
ptpengine:alt_mcast_group = 0
|
||||
|
||||
; Enable outlier filter for the Delay Response component in slave state
|
||||
ptpengine:delay_outlier_filter_enable = Y
|
||||
|
||||
; Delay Response outlier filter action. If set to 'filter', outliers
|
||||
; are replaced with moving average
|
||||
; Options: discard filter
|
||||
ptpengine:delay_outlier_filter_action = filter
|
||||
|
||||
; Number of samples in the Delay Response outlier filter buffer
|
||||
ptpengine:delay_outlier_filter_capacity = 20
|
||||
|
||||
; Delay Response 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:delay_outlier_filter_threshold = 1.000000
|
||||
|
||||
; Delay Response 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: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 = filter
|
||||
|
||||
; 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
|
||||
|
||||
; 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
|
||||
; expressed as number of statistics update periods (see
|
||||
; global:statistics_update_interval). This allows one-way delay to
|
||||
; stabilise before starting clock updates. Activated when going into
|
||||
; slave state and during GM failover in slave state.
|
||||
; 0 - not used.
|
||||
ptpengine:calibration_delay = 0
|
||||
|
||||
; 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 = Y
|
||||
|
||||
; Duration of the panic mode period (no clock updates) when offset
|
||||
; above 1 second detected
|
||||
ptpengine:panic_mode_duration = 2
|
||||
|
||||
; Use JobID (PID) for UUID
|
||||
ptpengine:pid_as_clock_idendity = 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 failing over to NTP. 0 = fail over immediately.
|
||||
ptpengine:ntp_failover_timeout = 60
|
||||
|
||||
; Prefer NTP time synchronisation when not controlling the clock (all
|
||||
; states, including slave when clock:no_adjust set)
|
||||
ptpengine:prefer_ntp = N
|
||||
|
||||
; When entering panic mode, fail over to NTP (after the NTP failover
|
||||
; timeout period) - requires ntpengine:enabled but does not require
|
||||
; the rest of NTP configuration - will warn instead of failing over if
|
||||
; it cannot control ntpd.
|
||||
ptpengine:panic_mode_ntp = N
|
||||
|
||||
; Do not adjust the clock
|
||||
clock:no_adjust = N
|
||||
|
||||
; Do not reset the clock - only slew
|
||||
clock:no_reset = N
|
||||
|
||||
; Observed drift handling method between servo restarts:
|
||||
; reset: set to zero (not recommended)
|
||||
; preserve: use kernel value,
|
||||
; file: load and 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.1
|
||||
|
||||
; Clock servo PI controller integral component gain (kI)
|
||||
servo:ki = 0.001
|
||||
|
||||
; Maximum accepted delayMS value in nanoseconds (Sync).
|
||||
; 0 = not checked.
|
||||
servo:max_delay = 10000000
|
||||
|
||||
; 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 = 5.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 = 3
|
||||
|
||||
; 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 not reset the clock if offset from master is greater
|
||||
; than this value (nanoseconds). 0 = not used.
|
||||
servo:max_offset = 10000000
|
||||
|
||||
; 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 files (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. Setting this enables recording.
|
||||
global:quality_file = /usr/scratch/log/ptpd.quality
|
||||
|
||||
; 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 -
|
||||
; on startup and SIGHUP
|
||||
global:quality_file_truncate = N
|
||||
|
||||
; File used to log ptpd2 status information
|
||||
global:status_file = /usr/scratch/log/ptpd2.status.log
|
||||
|
||||
; 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 = /usr/scratch/log/ptpd2.status.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 - on startup and SIGHUP
|
||||
global:log_file_truncate = N
|
||||
|
||||
; Specify log level (only messages of the specified 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 = /usr/scratch/log/ptpd.log
|
||||
|
||||
; Log timing statistics every n seconds for Sync and Delay Response
|
||||
; 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 - on
|
||||
; 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
|
||||
global:foreground = N
|
||||
|
||||
; Log timing statistics for every PTP packet received
|
||||
global:log_statistics = Y
|
||||
|
||||
; Linux only: 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 = 5
|
||||
|
||||
; 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 must 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 ==========
|
||||
|
@ -1,21 +0,0 @@
|
||||
--- dep/net.c.orig
|
||||
+++ dep/net.c
|
||||
@@ -322,10 +322,14 @@
|
||||
return FALSE;
|
||||
}
|
||||
/* check that the interface TYPE is OK */
|
||||
- if (((struct sockaddr_dl *)ifh->ifa_addr)->sdl_type != IFT_ETHER) {
|
||||
- ERROR("\"%s\" is not an ethernet interface!\n", ifh->ifa_name);
|
||||
- return FALSE;
|
||||
- }
|
||||
+ switch (((struct sockaddr_dl *)ifh->ifa_addr)->sdl_type) {
|
||||
+ case IFT_ETHER:
|
||||
+ case IFT_L2VLAN:
|
||||
+ break;
|
||||
+ default:
|
||||
+ ERROR("\"%s\" is not an ethernet interface!\n", ifh->ifa_name);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
DBG("==> %s %s %s\n", ifv4->ifa_name,
|
||||
inet_ntoa(((struct sockaddr_in *)ifv4->ifa_addr)->sin_addr),
|
||||
ether_ntoa((struct ether_addr *)
|
7
net/ptpd2/pkg-plist
Normal file
7
net/ptpd2/pkg-plist
Normal file
@ -0,0 +1,7 @@
|
||||
sbin/ptpd2
|
||||
man/man8/ptpd2.8.gz
|
||||
man/man5/ptpd2.conf.5.gz
|
||||
%%ETCDIR%%/client-e2e-8023.conf.sample
|
||||
%%ETCDIR%%/client-e2e-pcap.conf.sample
|
||||
%%ETCDIR%%/client-e2e-socket.conf.sample
|
||||
@dirrmtry %%ETCDIR%%
|
Loading…
Reference in New Issue
Block a user