Hi, I'm using ptp4l v2.0 on a Centos 8.2 with an Intel X710-T4 in clientOnly mode and default E2E profile. Upstream, the system is connected to a BC - so far, so good - everything works.
While testing failure modes, I disable the port on the BC for ~10s and then re-enable it. When ptp4l resumes after the 'link up', I get huge master offsets in the range of seconds. It is like the PHC gets reset when the link status changes. Mar 26 08:43:38 etrs-srv4 ptp4l[1936001]: [4479348.477] master offset 54 s2 freq -8719 path delay 1254 Mar 26 08:43:39 etrs-srv4 ptp4l[1936001]: [4479349.488] master offset -6 s2 freq -8763 path delay 1254 Mar 26 08:43:40 etrs-srv4 ptp4l[1936001]: [4479350.488] master offset 17 s2 freq -8742 path delay 1252 Mar 26 08:43:41 etrs-srv4 ptp4l[1936001]: [4479351.272] port 1: link down Mar 26 08:43:41 etrs-srv4 ptp4l[1936001]: [4479351.272] port 1: SLAVE to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED) Mar 26 08:43:41 etrs-srv4 ptp4l[1936001]: [4479351.272] selected local clock 3cfdfe.fffe.8e7e43 as best master Mar 26 08:43:41 etrs-srv4 ptp4l[1936001]: [4479351.272] assuming the grand master role Mar 26 08:43:41 etrs-srv4 ptp4l[1936001]: [4479351.272] port 1: master state recommended in slave only mode Mar 26 08:43:41 etrs-srv4 ptp4l[1936001]: [4479351.272] port 1: defaultDS.priority1 probably misconfigured Mar 26 08:43:57 etrs-srv4 ptp4l[1936001]: [4479367.230] port 1: link up Mar 26 08:43:57 etrs-srv4 ptp4l[1936001]: [4479367.231] port 1: FAULTY to LISTENING on INIT_COMPLETE Mar 26 08:44:00 etrs-srv4 ptp4l[1936001]: [4479370.351] selected local clock 3cfdfe.fffe.8e7e43 as best master Mar 26 08:44:02 etrs-srv4 ptp4l[1936001]: [4479371.966] clockcheck: clock jumped backward or running slower than expected! Mar 26 08:44:02 etrs-srv4 ptp4l[1936001]: [4479371.966] port 1: new foreign master bc26c7.fffe.0f6b80-10 Mar 26 08:44:03 etrs-srv4 ptp4l[1936001]: [4479373.483] selected local clock 3cfdfe.fffe.8e7e43 as best master Mar 26 08:44:04 etrs-srv4 ptp4l[1936001]: [4479373.968] selected best master clock ec4670.fffe.0a9f22 Mar 26 08:44:04 etrs-srv4 ptp4l[1936001]: [4479373.968] updating UTC offset to 37 Mar 26 08:44:04 etrs-srv4 ptp4l[1936001]: [4479373.968] port 1: LISTENING to UNCALIBRATED on RS_SLAVE Mar 26 08:44:05 etrs-srv4 ptp4l[1936001]: [4479374.980] master offset -12433651794 s0 freq -8742 path delay 3458 Mar 26 08:44:06 etrs-srv4 ptp4l[1936001]: [4479375.982] master offset -12433659804 s2 freq -16745 path delay 2693 Mar 26 08:44:06 etrs-srv4 ptp4l[1936001]: [4479375.982] port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED Mar 26 08:44:07 etrs-srv4 ptp4l[1936001]: [4479376.982] master offset -12433651800 s2 freq -900000000 path delay 2693 Mar 26 08:44:08 etrs-srv4 ptp4l[1936001]: [4479377.985] master offset -11457553134 s2 freq -900000000 path delay -74150931 Mar 26 08:44:09 etrs-srv4 ptp4l[1936001]: [4479378.988] master offset -10480575972 s2 freq -900000000 path delay -148303790 It then takes about ~1 minute to get back to reasonable offset, freq and path delay values. The same test with a Broadcom NIC on the same host does not show this behaviour, i.e. the first offsets after 'link up' are small. I can work-around the problem by setting the step_threshold from 0.0 to e.g. 0.0001 but this is not satisfactory. Updating driver (i40e) and FW of the X710 does not change anything. Any suggestions other than "don't use this card"? thanks in advance, Christian
[global] # # Default Data Set # twoStepFlag 1 slaveOnly 1 priority1 255 priority2 255 domainNumber 0 #utc_offset 37 clockClass 248 clockAccuracy 0xFE offsetScaledLogVariance 0xFFFF free_running 0 freq_est_interval 1 dscp_event 0 dscp_general 0 dataset_comparison ieee1588 G.8275.defaultDS.localPriority 128 # # Port Data Set # logAnnounceInterval 0 logSyncInterval 0 logMinDelayReqInterval 0 logMinPdelayReqInterval 0 announceReceiptTimeout 3 syncReceiptTimeout 0 delayAsymmetry 0 fault_reset_interval 4 neighborPropDelayThresh 20000000 masterOnly 0 G.8275.portDS.localPriority 128 # # Run time options # assume_two_step 0 logging_level 6 path_trace_enabled 0 follow_up_info 0 hybrid_e2e 0 inhibit_multicast_service 0 net_sync_monitor 0 tc_spanning_tree 0 tx_timestamp_timeout 1 unicast_listen 0 unicast_master_table 0 unicast_req_duration 3600 use_syslog 1 verbose 0 summary_interval 0 kernel_leap 1 check_fup_sync 0 # # Servo Options # pi_proportional_const 0.0 pi_integral_const 0.0 pi_proportional_scale 0.0 pi_proportional_exponent -0.3 pi_proportional_norm_max 0.7 pi_integral_scale 0.0 pi_integral_exponent 0.4 pi_integral_norm_max 0.3 step_threshold 0.0 first_step_threshold 0.00002 max_frequency 900000000 clock_servo pi sanity_freq_limit 200000000 ntpshm_segment 0 # # Transport options # transportSpecific 0x0 ptp_dst_mac 01:1B:19:00:00:00 p2p_dst_mac 01:80:C2:00:00:0E udp_ttl 1 udp6_scope 0x0E uds_address /var/run/ptp4l # # Default interface options # clock_type OC network_transport UDPv4 delay_mechanism E2E time_stamping hardware tsproc_mode filter delay_filter moving_median delay_filter_length 10 egressLatency 0 ingressLatency 0 boundary_clock_jbod 0 # # Clock description # productDescription ;; revisionData ;; manufacturerIdentity 00:00:00 userDescription etrs-srv4; timeSource 0xA0 [ens7f3]
_______________________________________________ Linuxptp-users mailing list Linuxptp-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-users