[Linuxptp-users] ptp4l and Broadcom 5720 problem
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
From: Jay S. <li...@sh...> - 2022-06-06 15:26:55
|
Hello all, after a bit of advice/help. I've got some CentOS 7 servers and I need to get them running ptp4l (from linuxptp) as clients, with the grandmaster being a Meinberg appliance. One with an Intel i350 works fine. Another with a Broadcom 5720 does not. Both servers are connected to the same network for their PTP. I suspect I know why the Broadcom doesn't work, but I was wondering if anyone could point me in the right direction on how to get it to do so. In short the i350's hardware timstamping capabilities say this: |# ethtool -T lan2 <snip> Hardware Receive Filter Modes: none (HWTSTAMP_FILTER_NONE) all (HWTSTAMP_FILTER_ALL) | But the Broadcom says this: |# ethtool -T lan2 <snip> Hardware Receive Filter Modes: none (HWTSTAMP_FILTER_NONE) ptpv1-l4-event (HWTSTAMP_FILTER_PTP_V1_L4_EVENT) ptpv2-l4-event (HWTSTAMP_FILTER_PTP_V2_L4_EVENT) ptpv2-l2-event (HWTSTAMP_FILTER_PTP_V2_L2_EVENT) | So I get the feeling that the Broadcom isn't picking up some of the messages coming back from the grandmaster. eg in the logs I can see: |Jun 3 10:12:37.000 ldalgc01 ptp4l[8290]: ptp4l[601302.197]: selected local clock e43d1a.fffe.acab65 as best master Jun 3 10:12:37.000 ldalgc01 ptp4l: [601302.197] selected local clock e43d1a.fffe.acab65 as best master Jun 3 10:12:38.000 ldalgc01 phc2sys: [601303.026] Waiting for ptp4l... Jun 3 10:12:39.000 ldalgc01 phc2sys: [601304.027] Waiting for ptp4l... | But a tcpdump shows that such messages are arriving: |10:12:39.381908 IP gsdgmca01-ptp0.prod.instinet.com.ptp-general > 224.0.1.129.ptp-general: UDP, length 54 10:12:39.398091 IP gsdgmca01-ptp0.prod.instinet.com.ptp-general > 224.0.1.129.ptp-general: UDP, length 54 10:12:39.404572 IP gsdgmca01-ptp0.prod.instinet.com.ptp-general > 224.0.1.129.ptp-general: UDP, length 54 | The Broadcom 5720 blurb says that it has Hardware support for IEEE 1588 timestamping <https://docs.broadcom.com/doc/5720-PB01-R>, so I guess it might need some tweaking of the ptp4l conf, but I'm not sure where to start. Current config (that works fine on the i350) is: |[global] # # Default Data Set # twoStepFlag 1 slaveOnly 1 priority1 128 priority2 128 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 1 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 1 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 1 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 linreg 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 32 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 ; timeSource 0xA0 Thanks in advance, J | |