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

Reply via email to