Re: [Linuxptp-users] How do I use "slave_event_monitor" to get the management info(such as offset,
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
From: <957...@qq...> - 2022-06-20 14:33:11
|
Thanks very much. I also want to know how can I subscribe to receive PORT_DATA_SET and TIME_STATUS_NP via the push method? Could you help me some example and guidance? Thanks a lot. "slave_event_monitor" must used with "delay_mechanism-E2E"? or both "E2E delay_mechanism" and "P2P delay_mechanism" can use slave_event_monitor. As I see monitor_delay() is only called in process_delay_resp() which is only called in case: DELAY_RESP, not in case: PDELAY_RESP. ------------------ Original ------------------ From: "Richard Cochran";<ric...@gm...>; Send time: Monday, Jun 20, 2022 9:54 PM To: "这个🍊 不太冷"<957...@qq...>; Cc: "linuxptp-users"<lin...@li...>; Subject: Re: [Linuxptp-users] How do I use "slave_event_monitor" to get the management info(such as offset, delay, master time) which should from PMC. On Mon, Jun 20, 2022 at 11:59:02AM +0800, 这个🍊 不太冷 wrote: > Thanks for your quick reply. > Q1.I have known the monitor socket should be created by the mointor, like PMC. > > > &nbsp; &nbsp; ptp4l --slave_event_monitor=/tmp/foo > &nbsp; &nbsp; pmc -u -i /tmp/foo When I run those ^^^ commands, I see: 0019b8.fffe.09896d-0 seq 129 SIGNALING SLAVE_RX_SYNC_TIMING_DATA N 1 sourcePortIdentity a0369f.fffe.10cfaf-1 sequenceId 44565 syncOriginTimestamp 1655732998.612437157 totalCorrectionField 0 scaledCumulativeRateOffset 0 syncEventIngressTimestamp 1655732998.612437752 0019b8.fffe.09896d-0 seq 138 SIGNALING SLAVE_DELAY_TIMING_DATA_NP N 1 sourcePortIdentity a0369f.fffe.10cfaf-1 sequenceId 138 delayOriginTimestamp 1655732998.628124923 totalCorrectionField 0 delayResponseTimestamp 1655732998.628125507 0019b8.fffe.09896d-0 seq 130 SIGNALING SLAVE_RX_SYNC_TIMING_DATA N 1 sourcePortIdentity a0369f.fffe.10cfaf-1 sequenceId 44566 syncOriginTimestamp 1655732999.612473029 totalCorrectionField 0 scaledCumulativeRateOffset 0 syncEventIngressTimestamp 1655732999.612473630 So it works! Don't you see it working? > The ptp4l don't need to create a socket fd bind the > slave_event_monitor address, so how it send message to the local > address? It use the API raw_send() to achieve send the message to > the fd to PMC client? Socket&nbsp; created only in&nbsp; PMC, is it? Read the code to find out how it works. > I'm now using v3.1, port.c line 1298 is not the implementation > code. Which version should I see. Version v3.1 ~~~~~~~~~~~~ 1176 switch (p->state) { 1177 case PS_UNCALIBRATED: 1178 case PS_SLAVE: 1179 monitor_sync(p->slave_event_monitor, 1180 clock_parent_identity(p->clock), seqid, 1181 t1, tmv_add(c1, c2), t2); 1182 break; 1183 default: 1184 break; 1185 } HTH, Richard |