nxp-archive / openil_linuxptp

PTP IEEE 1588 stack for Linux
GNU General Public License v2.0
136 stars 60 forks source link

DSA switch port is stop receiving ptp packets from the master after ptp4l is started #49

Open msmudide opened 8 months ago

msmudide commented 8 months ago

Hi All,

I have a zynq 7000 board with an 88E6393X switch running linux kernel 6.1.30. The ports 3, 9 and 10 are external ports and another port is connected to zynq mac. port 3 is connected to ptp master. The following tcpdump command shows the announce, sync and follow up from master.

tcpdump -i lan3 ether proto 0x88f7.

When I ran ptp4l on lan3, the lan3 port stops receiving the ptp packets from the master and the tcpdump shows only pdelay requests go from the lan3.

/usr/sbin/ptp4l -i lan3 -s -2 -H -P -l 7 -m --tx_timestamp_timeout 100 ptp4l[3124.505]: config item (null).assume_two_step is 0 ptp4l[3124.506]: config item (null).check_fup_sync is 0 ptp4l[3124.506]: config item (null).tx_timestamp_timeout is 100 ptp4l[3124.506]: config item (null).hwts_filter is 0 ptp4l[3124.507]: config item (null).clock_servo is 0 ptp4l[3124.507]: config item (null).clock_type is 32768 ptp4l[3124.507]: config item (null).clock_servo is 0 ptp4l[3124.507]: config item (null).clockClass is 248 ptp4l[3124.507]: config item (null).clockAccuracy is 254 ptp4l[3124.507]: config item (null).offsetScaledLogVariance is 65535 ptp4l[3124.507]: config item (null).productDescription is ';;' ptp4l[3124.507]: config item (null).revisionData is ';;' ptp4l[3124.507]: config item (null).userDescription is '' ptp4l[3124.507]: config item (null).manufacturerIdentity is '00:00:00' ptp4l[3124.508]: config item (null).domainNumber is 0 ptp4l[3124.508]: config item (null).slaveOnly is 1 ptp4l[3124.508]: config item (null).gmCapable is 1 ptp4l[3124.508]: config item (null).gmCapable is 1 ptp4l[3124.508]: config item (null).G.8275.defaultDS.localPriority is 128 ptp4l[3124.508]: config item (null).maxStepsRemoved is 255 ptp4l[3124.508]: config item (null).time_stamping is 1 ptp4l[3124.508]: config item (null).twoStepFlag is 1 ptp4l[3124.508]: config item (null).twoStepFlag is 1 ptp4l[3124.508]: config item (null).time_stamping is 1 ptp4l[3124.508]: config item (null).priority1 is 128 ptp4l[3124.509]: config item (null).priority2 is 128 ptp4l[3124.512]: interface index 5 is up ptp4l[3124.512]: config item (null).free_running is 0 ptp4l[3124.512]: selected /dev/ptp0 as PTP clock ptp4l[3124.513]: config item (null).clockIdentity is '000000.0000.000000' ptp4l[3124.513]: config item (null).uds_address is '/var/run/ptp4l' ptp4l[3124.513]: section item /var/run/ptp4l.announceReceiptTimeout now 0 ptp4l[3124.513]: section item /var/run/ptp4l.delay_mechanism now 0 ptp4l[3124.513]: section item /var/run/ptp4l.network_transport now 0 ptp4l[3124.513]: section item /var/run/ptp4l.delay_filter_length now 1 ptp4l[3124.513]: config item (null).free_running is 0 ptp4l[3124.513]: config item (null).freq_est_interval is 1 ptp4l[3124.513]: config item (null).write_phase_mode is 0 ptp4l[3124.513]: config item (null).gmCapable is 1 ptp4l[3124.514]: config item (null).kernel_leap is 1 ptp4l[3124.514]: config item (null).utc_offset is 37 ptp4l[3124.514]: config item (null).timeSource is 160 ptp4l[3124.531]: config item (null).pi_proportional_const is 0.000000 ptp4l[3124.531]: config item (null).pi_integral_const is 0.000000 ptp4l[3124.531]: config item (null).pi_proportional_scale is 0.000000 ptp4l[3124.531]: config item (null).pi_proportional_exponent is -0.300000 ptp4l[3124.531]: config item (null).pi_proportional_norm_max is 0.700000 ptp4l[3124.531]: config item (null).pi_integral_scale is 0.000000 ptp4l[3124.531]: config item (null).pi_integral_exponent is 0.400000 ptp4l[3124.531]: config item (null).pi_integral_norm_max is 0.300000 ptp4l[3124.531]: config item (null).step_threshold is 0.000000 ptp4l[3124.531]: config item (null).first_step_threshold is 0.000020 ptp4l[3124.531]: config item (null).max_frequency is 900000000 ptp4l[3124.531]: config item (null).servo_offset_threshold is 0 ptp4l[3124.531]: config item (null).servo_num_offset_values is 10 ptp4l[3124.531]: config item (null).dataset_comparison is 0 ptp4l[3124.531]: config item (null).tsproc_mode is 0 ptp4l[3124.532]: config item (null).delay_filter is 1 ptp4l[3124.532]: config item (null).delay_filter_length is 10 ptp4l[3124.532]: config item (null).initial_delay is 0 ptp4l[3124.532]: config item (null).summary_interval is 0 ptp4l[3124.532]: config item (null).sanity_freq_limit is 200000000 ptp4l[3124.532]: PI servo: sync interval 1.000 kp 0.700 ki 0.300000 ptp4l[3124.532]: config item /var/run/ptp4l.boundary_clock_jbod is 0 ptp4l[3124.532]: config item /var/run/ptp4l.network_transport is 0 ptp4l[3124.532]: config item /var/run/ptp4l.masterOnly is 0 ptp4l[3124.532]: config item /var/run/ptp4l.BMCA is 0 ptp4l[3124.532]: config item /var/run/ptp4l.delayAsymmetry is 0 ptp4l[3124.532]: config item /var/run/ptp4l.follow_up_info is 0 ptp4l[3124.532]: config item /var/run/ptp4l.freq_est_interval is 1 ptp4l[3124.532]: config item /var/run/ptp4l.msg_interval_request is 0 ptp4l[3124.532]: config item /var/run/ptp4l.net_sync_monitor is 0 ptp4l[3124.532]: config item /var/run/ptp4l.path_trace_enabled is 0 ptp4l[3124.533]: config item /var/run/ptp4l.tc_spanning_tree is 0 ptp4l[3124.533]: config item /var/run/ptp4l.ingressLatency is 0 ptp4l[3124.533]: config item /var/run/ptp4l.egressLatency is 0 ptp4l[3124.533]: config item /var/run/ptp4l.delay_mechanism is 0 ptp4l[3124.533]: config item /var/run/ptp4l.hybrid_e2e is 0 ptp4l[3124.533]: config item /var/run/ptp4l.fault_badpeernet_interval is 16 ptp4l[3124.533]: config item /var/run/ptp4l.fault_reset_interval is 4 ptp4l[3124.533]: config item /var/run/ptp4l.tsproc_mode is 0 ptp4l[3124.533]: config item /var/run/ptp4l.delay_filter is 1 ptp4l[3124.533]: config item /var/run/ptp4l.delay_filter_length is 1 ptp4l[3124.533]: config item (null).slave_event_monitor is '' ptp4l[3124.533]: config item lan3.boundary_clock_jbod is 0 ptp4l[3124.533]: config item lan3.network_transport is 3 ptp4l[3124.533]: config item lan3.masterOnly is 0 ptp4l[3124.533]: config item lan3.BMCA is 0 ptp4l[3124.533]: config item lan3.delayAsymmetry is 0 ptp4l[3124.533]: config item lan3.follow_up_info is 0 ptp4l[3124.533]: config item lan3.freq_est_interval is 1 ptp4l[3124.534]: config item lan3.msg_interval_request is 0 ptp4l[3124.534]: config item lan3.net_sync_monitor is 0 ptp4l[3124.534]: config item lan3.path_trace_enabled is 0 ptp4l[3124.534]: config item lan3.tc_spanning_tree is 0 ptp4l[3124.534]: config item lan3.ingressLatency is 0 ptp4l[3124.534]: config item lan3.egressLatency is 0 ptp4l[3124.534]: config item lan3.delay_mechanism is 2 ptp4l[3124.534]: config item lan3.unicast_master_table is 0 ptp4l[3124.534]: config item lan3.unicast_listen is 0 ptp4l[3124.534]: config item lan3.hybrid_e2e is 0 ptp4l[3124.534]: config item lan3.fault_badpeernet_interval is 16 ptp4l[3124.534]: config item lan3.fault_reset_interval is 4 ptp4l[3124.534]: config item lan3.tsproc_mode is 0 ptp4l[3124.534]: config item lan3.delay_filter is 1 ptp4l[3124.534]: config item lan3.delay_filter_length is 10 ptp4l[3124.534]: config item lan3.logMinDelayReqInterval is 0 ptp4l[3124.535]: config item lan3.logAnnounceInterval is 1 ptp4l[3124.535]: config item lan3.inhibit_announce is 0 ptp4l[3124.535]: config item lan3.ignore_source_id is 0 ptp4l[3124.535]: config item lan3.announceReceiptTimeout is 3 ptp4l[3124.535]: config item lan3.syncReceiptTimeout is 0 ptp4l[3124.535]: config item lan3.transportSpecific is 0 ptp4l[3124.535]: config item lan3.ignore_transport_specific is 0 ptp4l[3124.535]: config item lan3.G.8275.portDS.localPriority is 128 ptp4l[3124.535]: config item lan3.logSyncInterval is 0 ptp4l[3124.535]: config item lan3.operLogSyncInterval is 0 ptp4l[3124.535]: config item lan3.logMinPdelayReqInterval is 0 ptp4l[3124.535]: config item lan3.operLogPdelayReqInterval is 0 ptp4l[3124.535]: config item lan3.neighborPropDelayThresh is 20000000 ptp4l[3124.535]: config item lan3.min_neighbor_prop_delay is -20000000 ptp4l[3124.535]: config item lan3.asCapable is 1 ptp4l[3124.535]: config item lan3.inhibit_delay_req is 0 ptp4l[3124.536]: config item lan3.ptp_dst_mac is '01:1B:19:00:00:00' ptp4l[3124.536]: config item lan3.p2p_dst_mac is '01:80:C2:00:00:0E' ptp4l[3124.536]: config item global.socket_priority is 0 ptp4l[3124.571]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE ptp4l[3124.571]: config item /var/run/ptp4l.logMinDelayReqInterval is 0 ptp4l[3124.571]: config item /var/run/ptp4l.logAnnounceInterval is 1 ptp4l[3124.571]: config item /var/run/ptp4l.inhibit_announce is 0 ptp4l[3124.571]: config item /var/run/ptp4l.ignore_source_id is 0 ptp4l[3124.572]: config item /var/run/ptp4l.announceReceiptTimeout is 0 ptp4l[3124.572]: config item /var/run/ptp4l.syncReceiptTimeout is 0 ptp4l[3124.572]: config item /var/run/ptp4l.transportSpecific is 0 ptp4l[3124.572]: config item /var/run/ptp4l.ignore_transport_specific is 0 ptp4l[3124.572]: config item /var/run/ptp4l.G.8275.portDS.localPriority is 128 ptp4l[3124.572]: config item /var/run/ptp4l.logSyncInterval is 0 ptp4l[3124.572]: config item /var/run/ptp4l.operLogSyncInterval is 0 ptp4l[3124.572]: config item /var/run/ptp4l.logMinPdelayReqInterval is 0 ptp4l[3124.572]: config item /var/run/ptp4l.operLogPdelayReqInterval is 0 ptp4l[3124.572]: config item /var/run/ptp4l.neighborPropDelayThresh is 20000000 ptp4l[3124.572]: config item /var/run/ptp4l.min_neighbor_prop_delay is -20000000 ptp4l[3124.572]: config item /var/run/ptp4l.asCapable is 1 ptp4l[3124.572]: config item /var/run/ptp4l.inhibit_delay_req is 0 ptp4l[3124.572]: config item (null).uds_address is '/var/run/ptp4l' ptp4l[3124.572]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE ptp4l[3124.573]: port 1: received link status notification ptp4l[3124.573]: interface index 5 is up ptp4l[3125.571]: port 1: delay timeout ptp4l[3126.572]: port 1: delay timeout ptp4l[3126.576]: port 1: setting asCapable ptp4l[3127.572]: port 1: delay timeout ptp4l[3128.572]: port 1: delay timeout ptp4l[3129.572]: port 1: delay timeout ptp4l[3130.573]: port 1: delay timeout ptp4l[3131.573]: port 1: delay timeout ptp4l[3132.498]: port 1: announce timeout ptp4l[3132.498]: selected local clock 8e911f.fffe.d00f6c as best master ptp4l[3132.573]: port 1: delay timeout ptp4l[3133.573]: port 1: delay timeout ptp4l[3134.573]: port 1: delay timeout ptp4l[3135.574]: port 1: delay timeout ptp4l[3136.574]: port 1: delay timeout ptp4l[3137.574]: port 1: delay timeout

Any idea what might be the problem?

msmudide commented 8 months ago

Don't understand why ptp4l is choosing /dev/ptp0 as ptp clock. The /dev/ptp0 is for the gem0 of the zynq. I thought, if I use -i lan3, then ptp4l uses the timestamping unit of the switch port 3.