linuxPTP参数详解

ptp4l

参考

  1. https://manpages.debian.org/buster/linuxptp/ptp4l.8.en.html

  2. https://linuxptp.nwtime.org/documentation/ptp4l/#Synopsis

ptp4l参数

参数 注释
fault_reset_interval 从检测到端口故障到重置故障之间的时间(以秒为单位)。该值表示为2的幂。将此值设置为-128或特殊关键字" ASAP"将使故障排除。立即重置。默认值为4(16秒)
message_tag 添加到打印到标准输出或系统日志的所有消息中的标记。默认值是一个空字符串(不能在配置文件中设置,因为该选项需要一个参数)
verbose 如果为1,则打印到标准输出,默认为0
use_syslog 如果为1,则打印到系统日志,默认为1
logging_level 最大日志打印等级,默认是6(INFO)
assume_two_step 如果启用,则将一步响应视为两步响应。它用于处理有bug的802.1AS交换机。默认值为0(禁用)。
check_fup_sync 由于可能发生在网络、硬件或网络堆栈中的数据包重新排序,后续消息可能出现在匹配同步消息之前到达应用程序中。由于这是正常情况,并且sequenceID消息字段确保正确匹配,ptp4l程序接受无序的数据包。此选项使用网络堆栈中的软件时间戳添加额外的检查,以验证同步消息是否首先到达。只有当您不信任master时钟生成的序列ID时,此选项才有用。默认值为0(已禁用)。
tx_timestamp_timeout 最近发送消息时,轮询等待来自内核的tx时间戳的毫秒数。默认值为1。
hwts_filter 选择硬件时间戳filter模式。可选的值有normal、check和full。normal模式根据需要设置filter,检查模式仅进行检查,但不进行设置。完整模式设置接收filter,用硬件时间戳标记所有数据包,这样所有应用程序都可以获得它们。默认为normal。
clock_servo 用于同步本地时钟的伺服。有效值为pi控制器的"pi",使用线性回归的自适应控制器的"linreg",NTP SHM参考时钟的"ntpshm",以允许另一个进程同步本地时钟(SHM段编号设置为域编号),以及始终拨频率偏移为零的伺服的"nulf"(用于SyncE节点)。默认值为"pi"。0:CLOCK_SERVO_PI; 1:CLOCK_SERVO_LINREG;2:CLOCK_SERVO_NTPSHM; 3: CLOCK_SERVO_NULLF;
clock_type ORDINARY: 0x8000=32768;BOUNDARY:0x4000=16384;P2P: 0x2000=8192; E2E:0x1000=4096;MANAGEMENT:0x0800=2048
clockClass 本地时钟的clockClass属性,用于时钟的选取。它表示主时钟分配的时间的可追溯性。默认值为248。
clockAccuracy 本地时钟的clockAccuracy属性。它用于PTP服务器选择算法。默认值为0xFE。
offsetScaledLogVariance 本地时钟的offsetScaledLogVariance属性。它体现了时钟的稳定性。默认值为0xFFFF。
productDescription 产品描述字符串。允许的值的格式必须为manufacturerName;modelNumber;instanceIdentifier,并且最多包含64个utf8符号。默认值为;;
revisionData 修订描述字符串,包含节点硬件(HW)、固件(FW)和软件(SW)的修订。允许值的形式为HW:FW:SW,并且最多包含32个utf8符号。默认值为;;
userDescription 用户描述字符串。允许的值为name;location,并且最多包含128个utf8符号。默认值为空字符串。
manufacturerIdentity 制造商id,它应该是制造商拥有的OUI 编制独特识别符(Organizationally Unique Identifier) 。默认值为00:00:00。
domainNumber 本地时钟的域标识,默认为0
slaveOnly 仅仅作为从时钟,此选项已弃用,并将在将来的版本中删除。请改用clientOnly。
gmCapable 如果启用此选项,则本地时钟能够成为主时钟。这仅用于802.1AS时钟,对1588时钟没有影响。默认值为1(已启用)。
G.8275.defaultDS.localPriority 电信配置文件(ITU-T G.8275.1和G.8275.2)规定了具有唯一数据集比较算法的替代最佳主时钟算法(BMCA)。此选项的值与本地时钟相关联,并在clockClass、clockAccuracy、offsetScaledLogVariance和priority2相等时用作平局决胜器。此选项仅在dataset_comparison设置为G.8275.x时使用。默认值为128。
maxStepsRemoved 使用此选项时,如果Announcer消息的stepsRemoved的值大于或等于maxStepsMoved的值,则在BMCA的操作中不考虑Announcel消息。默认值为255。
time_stamping 要使用的时间戳方法。允许的值包括硬件、软件、传统硬件、onestep和p2p1step。默认为硬件。0: TS_SOFTWARE; 1:TS_HARDWARE; 2:TS_LEGACY_HW; 3: TS_ONESTEP; 4: TS_P2P1STEP
twoStepFlag 为sync报文启用两步模式。一步模式只能与硬件时间戳一起使用。默认值为1(已启用)。
priority1 本地时钟的priority1属性。它用于PTP服务器时钟选择算法,较低的值优先。必须在0到255之间。默认值为128。
priority2 本地时钟的priority2属性。它用于PTP服务器时钟选择算法,较低的值优先。必须在0到255之间。默认值为128。
free_running 启用则不作时钟调整,默认为0。
clockIdentity 本地时钟的clockIdentity属性。clockIdentity是一个8位字节的数组,在这种配置中应该以文本形式编写,请参阅默认值。它应该是唯一的,因为它用于识别特定的时钟。如果使用默认值或根本没有设置,则将自动生成clockIdentity。默认值为000000.000000000。
uds_address 指定用于接收本地管理消息的UNIX域套接字的地址。默认值为/var/run/ptp4l。
freq_est_interval 估计本地和peer时钟频率之比的时间间隔。它被指定为以秒为单位的二次方。默认值为1(2秒)。
write_phase_mode 此选项启用PTP硬件时钟的"写入相位"功能。如果设备支持,此模式将使用硬件内置的相位偏移控制,而不是频率偏移控制。默认值为0(已禁用)。
kernel_leap 当需要闰秒时,让内核通过步进时钟来应用它,而不是用伺服来校正1秒偏移,这将通过改变时钟频率来缓慢地校正1秒偏移(除非step_threshold选项设置为通过步进来校正这种偏移)。仅与软件时间戳相关。默认值为1(已启用)。
utc_offset TAI和UTC之间的当前偏移量。默认值为37。
timeSource 时间源是一个单字节代码,它提供了使用中的本地时钟类型的概念。该值纯粹是提示性的信息,对最佳主时钟算法的结果没有影响,并且在时钟成为主时钟时进行广告。
pi_proportional_const PI控制器的比例常数。当设置为0.0时,比例常数将根据当前同步间隔通过以下公式设置。默认值为0.0。kp = min(kp_scale * sync^kp_exponent, kp_norm_max / sync)
pi_integral_const PI控制器的积分常数。当设置为0.0时,积分常数将根据当前同步间隔通过以下公式设置。默认值为0.0。 ki = min(ki_scale * sync^ki_exponent, ki_norm_max / sync)
pi_proportional_scale 公式中的kp_scale常数用于根据同步间隔设置PI控制器的比例常数。当设置为0.0时,该值将分别从0.7和0.1中选择用于硬件和软件时间戳。默认值为0.0。
pi_proportional_exponent 用于根据同步间隔设置PI控制器的比例常数的公式中的kp_exponent常数。默认值为-0.3。
pi_proportional_norm_max 用于根据同步间隔设置PI控制器的比例常数的公式中的kp_norm_max常数。默认值为0.7
pi_integral_scale 公式中的ki_scale常数,用于根据同步间隔设置PI控制器的积分常数。当设置为0.0时,硬件和软件时间戳的值将分别从0.3和0.001中选择。默认值为0.0。
pi_integral_exponent 用于从同步间隔设置PI控制器的积分常数的公式中的ki_expont常数。默认值为0.4。
pi_integral_norm_max 用于从同步间隔设置PI控制器的积分常数的公式中的ki_norm_max常数。默认值为0.3。
step_threshold 步进调节参数,伺服将通过改变时钟频率(使用零位伺服时的相位)而不是步进时钟来校正最大偏移。当设置为0.0时,伺服将永远不会步进时钟,除非在启动时。它是以秒为单位指定的。默认值为0.0。这个选项过去被称为pi_offset_const。
first_step_threshold 伺服将通过改变时钟频率(使用零位伺服时的相位)而不是步进时钟来校正最大偏移。这仅适用于第一次更新。它是以秒为单位指定的。当设置为0.0时,伺服在启动时不会步进时钟。默认值为0.00002(20微秒)。这个选项过去被称为pi_f_offset_const。
max_frequency 时钟的最大允许频率调整,单位为十亿分之一(ppb)。这是硬件允许的最大值的附加限制。当设置为0时,将使用硬件限制。默认值为900000000(90%)。该选项过去被称为pi_max_frequency。
servo_offset_threshold 用于从SERVO_LOCKED转换到SERVO_LLOCKED_STABLE状态的偏移阈值。一旦最后一个servo_num_offset_values偏移都低于阈值,就会发生转换。offset_threshold的默认值为0(已禁用)。
servo_num_offset_values 从SERVO_LOCKED转换到SERVO_LLOCKED_STABLE状态所考虑的偏移值的数量。一旦最后一个servo_num_offset_values偏移都低于servo_offset_threshold值,就会发生转换。默认值为10。
dataset_comparison 指定在最佳主时钟算法期间比较数据集时要使用的方法。可能的值为ieee1588和G.8275.x。默认值为ieee 1588。
tsproc_mode 选择用于计算偏移和延迟的时间戳处理模式。可能的值有filter、raw、filter_weight、raw_weight。当同步消息速率(logSyncInterval)与延迟消息速率(logMinDelayReqInterval或logMinPdelayReqInterval)相似时,Raw模式表现良好。加权对于较大的网络抖动(例如软件时间戳)非常有用。默认值为filter。
delay_filter 选择用于测量延迟和对等延迟的滤波算法。可能的值为moving_average和moving_median。默认为moving_median。
delay_filter_length delay_filter的采样长度(以样本为单位)。默认值为10。
initial_delay 使用E2E或P2P延迟机制来测量延迟之前用于时钟同步的以纳秒为单位的时钟的初始路径延迟。如果设置为0,则在测量延迟之前不会更新时钟。默认值为0。
summary_interval 打印时钟摘要统计信息的时间间隔。它被指定为以秒为单位的二次方。统计数据包括偏移均方根(RMS)、最大绝对偏移、频率偏移平均值和标准偏差以及路径延迟平均值和基准偏差。单位是纳秒和十亿分之一(ppb)。如果间隔中只有一个时钟更新,则将打印样本而不是统计信息。消息以LOG_INFO级别打印。默认值为0(1秒)。
sanity_freq_limit 未校正时钟和系统单调时钟之间的最大允许频率偏移,单位为十亿分之一(ppb)。这被用作同步时钟的健全性检查。当测量到较大的偏移量时,将打印一条警告信息,并重置伺服。如果ptp4l设置的频率校正在时钟更新之间发生意外变化(例如,由于另一个进程试图控制时钟),则会打印警告消息。当设置为0时,健全性检查将被禁用。默认值为200000000(20%)。
announceReceiptTimeout 在最后一条"Announce "报文过期之前错过的"Announce "报文数目。默认值为3。
delay_mechanism 选择延迟机制。可能的值有E2E(1)、P2P(2)、Auto(0)。默认值为E2E。
network_transport TRANS_UDS(0), TRANS_UDP_IPV4(1), TRANS_UDP_IPV6(2), TRANS_IEEE_802_3(3), TRANS_DEVICENET(4), TRANS_CONTROLNET(4), TRANS_PROFINET(5), 默认为UDPv4.
boundary_clock_jbod 当作为边界时钟运行时(即,当配置了多个网络接口时),ptp4l会执行健全性检查,以确保所有端口共享相同的硬件时钟设备。此选项允许ptp4l作为边界时钟使用"仅一堆设备",这些设备彼此不同步。对于此模式,时钟集合必须由外部程序同步,例如自动模式下的phc2sys(8)。默认值为0(已禁用)。
masterOnly 将此选项设置为1可防止端口进入客户端状态。此外,本地时钟将忽略在此端口上接收到的Announce消息。此选项的预期用途是根据ITU-T G.8265.1、G.8275.1和G.8275.2支持电信配置文件。默认值为0或false。This option is deprecated and will be removed in a future release. Use serverOnly instead.
BMCA 此选项使服务器和客户端设备能够使用静态角色,而不是运行1588配置文件中描述的最佳主时钟算法(BMCA)。当您提前知道设备的角色时,这可以用来加快服务器和客户端的启动时间。当设置为noop时,将跳过1588使用的传统BMCA算法。masterOnly和clientOnly将用于确定设备的服务器或客户端角色。在网桥中,可以设置clientOnly(这是一个全局选项),使所有端口都扮演客户端角色。masterOnly(这是一个每个端口的配置选项)然后可以用来设置单独的端口来扮演服务器角色。默认值是ptp,它运行BMCA相关的状态机。
delayAsymmetry 传输和接收路径的时间差(以纳秒为单位)。当服务器到客户端的传播时间较长时,此值应为正,当客户端到服务器的时间较长时应为负。默认值为0纳秒。
follow_up_info 如果启用,请在Follow_Up报文中包括802.1AS数据。默认值为0(已禁用)。
msg_interval_request 设置此选项后,当时钟伺服转换到servo_LOCKED_STABLE状态时,将触发对同步和对等延迟请求消息间隔的调整。同步间隔将通过信令机制进行调整,而pdelay请求间隔仅在本地进行调整。用于新同步和对等延迟请求间隔的值分别由operLogSyncInterval和operLogPdelayReqInterval选项指定。msg_interval_request的默认值为0(已禁用)。
net_sync_monitor 启用网络同步监视器(NSM)协议。NSM协议允许站点测量另一个节点的同步情况。监控器向节点发送单播延迟请求,节点无条件回复单播延迟响应、同步和后续消息。如果监控器与GM同步,它可以使用消息中的时间戳来估计节点的偏移量。此选项要求同时启用hybrid_e2e选项。默认值为0(已禁用)。
path_trace_enabled 启用用于跟踪Announce报文路由的机制。默认值为0(已禁用)
tc_spanning_tree 当作为透明时钟运行时,递增通过交换机的Announcemessages的stepsRemoved字段。启用此选项可确保PTP消息循环永远不会形成,前提是交换机都与BMCA一起实现此选项。
ingressLatency 指定报告的接收时间戳与参考平面上的实际接收时间之间的差(以纳秒为单位)。该值将从从硬件获得的入口时间戳中减去。默认值为0。
egressLatency 指定参考平面上的实际传输时间与报告的传输时间戳之间的差(以纳秒为单位)。该值将被添加到从硬件获得的出口时间戳中。默认值为0。
hybrid_e2e 启用企业配置文件草案中的混合延迟机制。启用后,处于客户端状态的端口会将其延迟请求消息发送到服务器公告消息中的单播地址。处于服务器状态的端口将使用单播延迟响应来答复单播延迟请求。如果delay_mechanism设置为P2P,则此选项无效。默认值为0(已禁用)。
fault_badpeernet_interval 检测到对等网络错误配置和重置故障之间的时间(以秒为单位)。该端口在间隔期间被禁用。该值以秒为单位,特殊关键字ASAP将使故障立即复位。默认值为16秒。
slave_event_monitor 指定用于事件监视的UNIX域套接字的地址。绑定到此地址的本地监控客户端将接收SLAVE_RX_SYNC_TIMING_DATA和SLAVE_DELAY_TIMING_DATA_NP TLV。默认值为空字符串(已禁用)。
unicast_master_table 当设置为正整数时,此选项指定要用于单播发现的表id。每个表都位于自己的部分中,并具有唯一的正数ID。表中的条目是一对传输类型和协议地址。默认值为0(单播发现禁用
unicast_listen 启用后,此选项允许端口授予单播消息约定。传入请求将被授予,仅受可用内存量的限制。默认值为0(已禁用)。
logAnnounceInterval Announce消息之间的平均时间间隔。更短的间隔使ptp4l对客户端/服务器层次结构中的更改反应更快。整个域中的间隔应该相同。它被指定为以秒为单位的二次方。默认值为1(2秒)。
inhibit_announce 这将禁用Announce消息的计时器(即FD_MANNO_timer),也禁用通知消息超时计时器(即,FD_announce_timer)。这被Automotive配置文件用作切换到静态BMCA的一部分。如果启用了此选项,则必须在客户端中启用ignore_source_id,因为它无法在Sync和Follow_Up消息中标识服务器。默认值为0(已禁用)。
ignore_source_id 这将禁用sync和Follow_Up消息的源端口标识检查。当服务器中的公告消息被禁用,并且客户端无法知道服务器的标识时,这一点非常有用。默认值为0(已禁用)。
syncReceiptTimeout 在触发最佳主时钟选举之前可能丢失的同步/后续消息数。此选项用于根据802.1AS-2011标准在gPTP模式下运行。将此选项设置为零将禁用同步消息超时。默认值为0或已禁用。
transportSpecific 特定于传输的字段。必须在0到255之间。默认值为0。
ignore_transport_specific 默认情况下,如果传入消息的transportSpecific字段与配置的值不匹配,则会将其丢弃。然而,1588标准中规定的许多运输工具忽略了此字段。此外,已知一些设备设置保留比特。将此选项配置为1会导致在接收时完全忽略此字段。默认值为0。
G.8275.portDS.localPriority 电信配置文件(ITU-T G.8275.1和G.8275.2)规定了具有唯一数据集比较算法的替代最佳主时钟算法(BMCA)。此选项的值与到达特定端口的Announce消息相关联,并在clockClass、clockAccuracy、offsetScaledLogVariance和priority2相等时用作平局决胜器。此选项仅在dataset_comparison设置为G.8275.x时使用。默认值为128。
operLogSyncInterval 时钟进入SERVO_LOCKED_STABLE状态后请求的Sync消息间隔。如果设置了msg_interval_request选项,则本地客户端端口将通过包含消息间隔请求TLV的信令消息请求远程服务器切换到给定的消息速率。此选项指定为以秒为单位的二次方,默认值为0(1秒)。
operLogPdelayReqInterval 一旦时钟进入SERVO_LOCKED_STABLE状态,将使用Pdelay Request消息间隔。如果设置了msg_interval_request选项,则当本地时钟进入"锁定稳定"状态时,本地客户端端口将采用此速率。此选项以秒为单位指定为2的幂,默认值为0(1秒)。
neighborPropDelayThresh 对等延迟的上限(以纳秒为单位)。如果估计的对等延迟大于该值,则端口被标记为不支持802.1AS。
min_neighbor_prop_delay 对等延迟的下限(以纳秒为单位)。如果估计的对等延迟小于该值,则端口被标记为不支持802.1AS。
asCapable 用于指定网络接口是否支持PTP,如果设置为true,则跳过所有可以取消设置asCapable变量的检查(如802.1AS第10.2.4.1节所述)。如果设置为auto,asCapable将初始化为false,并在通过相关检查后设置为true。默认值为auto。
inhibit_delay_req 不要发送任何延迟请求。这需要将asCapable配置选项设置为true。当作为不需要计算客户端偏移量的指定服务器运行时,这很有用。默认值为0(已禁用)。
ignore_pdelay_req 忽略对等延迟请求消息。默认值为0(已禁用)。
ptp_dst_mac PTP消息应发送到的MAC地址。仅与L2传输相关。默认值为01:1B:19:00:00:00。
socket_priority 配置套接字的SO_PRIORITY。这是为了支持用户希望使用Linux qdiscs路由ptp4l流量以进行流量整形的情况。此选项仅适用于IEEE 802.3传输(-2选项),在使用UDP IPv4/6网络传输时会被忽略。必须在0到15之间(包括0到15)。默认值为0。

phc2sys

相关推荐
hjjdebug43 分钟前
linux 下 signal() 函数的用法,信号类型在哪里定义的?
linux·signal
其乐无涯44 分钟前
服务器技术(一)--Linux基础入门
linux·运维·服务器
Diamond技术流44 分钟前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
斑布斑布1 小时前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
朱一头zcy1 小时前
C语言复习第9章 字符串/字符/内存函数
c语言
Spring_java_gg1 小时前
如何抵御 Linux 服务器黑客威胁和攻击
linux·服务器·网络·安全·web安全
此生只爱蛋1 小时前
【手撕排序2】快速排序
c语言·c++·算法·排序算法
✿ ༺ ོIT技术༻1 小时前
Linux:认识文件系统
linux·运维·服务器
何曾参静谧1 小时前
「C/C++」C/C++ 指针篇 之 指针运算
c语言·开发语言·c++
会掉头发1 小时前
Linux进程通信之共享内存
linux·运维·共享内存·进程通信