Re: [Linuxptp-users] shortly following DELAY_REQ from two slaves only trigger one DELAY_RESP (Intel
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
From: Richard C. <ric...@gm...> - 2014-04-15 04:59:19
|
On Mon, Apr 14, 2014 at 09:44:30PM +0000, Vick, Matthew wrote: > On 4/14/14, 12:23 PM, "Hanspeter Portner" <de...@op...> > wrote: > > >I have my time master (e1000e, Intel 82579LM) set up with hardware time > >stamping. This card can only time stamp one packet at a time. > >Then I have two slaves set up with software timestamping (not using > >linuxptp, microcontrollers). > > > >When the two slaves send their delay requests shortly following each > >other, often only one of both is answered. > >For the ignored one, there is this error: 'ptp4l[16004.338]: port 1: > >received DELAY_REQ without timestamp' > > > >For the ignored delay request: > >- 'fsm_event_port_event' returns -ETIME > >- because 'transport_recv' reports a hardware time stamp of 0 > >- 'transport_recv' calls 'udp_rec' which calls 'sk_receive' > >- there I've seen that the ignored delay request packet has no cmsg and > >therefore no associated timestamp > > > >Has anybody encountered similar issues? This is to be expected. If two packets arrive at nearly the same time, the 82579 will only be able to time stamp one of them, and one event message will be dropped by linuxptp. However, this does not present a problem because: 1. The slaves are required by the PTP to randomly distribute their requests, making the "collision" a rare event. 2. The synchronization algorithm is robust to occasional missing Delay_Req/Resp information. After all, the path delay does not change in typical environments. Thanks, Richard |