Hello Team,

I recently encountered a *rogue peer delay response* error which seemly
caused by function port_synchronize() reset peer_delay_req pointer.
I'd like to know why port_synchronize() reset p->peer_delay_req to NULL is
needed, can i comment this to avoid the rogue peer delay response error?
Can anyone please help me?

the problematic packet timing is as follows

   1. client send pdelay_req
   2. client recv follow_up
   3. client enter port_synchronize, client clock servo enter jump state
   4. port_synchronize reset p->peer_delay_req to NULL
   5. client recv pdelay_resp
   6. client report rogue peer delay response
   7. client reinit port
   8. client servo enter lock state,

ptp4l log as follows,

* 202 ptp4l[3.143]: port 1: delay timeout* 203 ptp4l[3.147]: bc_event,
2613, idx(1)
 204 ptp4l[3.147]: process msg seq_id(16945)
 205 ptp4l[3.147]: bc_event, 2761, process FOLLOW_UP
 206 ptp4l[3.147]: port_syfufsm, 1251, sts(1), event(3)
 207 ptp4l[3.147]: port_synchronize, 1176, t1(1560257347787048846),
t2(946684803056837859), c1(0), c2(0)
 208 ptp4l[3.147]: port_synchronize, 1192, last_state(0), state(1)
* 209 ptp4l[3.147]: port_synchronize, 1212, peer_delay_req cleared*
 210 ptp4l[3.147]: bc_event, 2613, idx(0)
 211 ptp4l[3.147]: process msg seq_id(2)
 212 ptp4l[3.147]: bc_event, 2754, process PDELAY_RESP
* 213 ptp4l[3.147]: port 1: rogue peer delay response*
 214 ptp4l[3.147]: bc_event, 2757, process PDELAY_RESP failed
 215 ptp4l[3.148]: port 1: clearing fault immediately

*1158 static void port_synchronize(*)
1206   case SERVO_JUMP:
1207     port_dispatch(p, EV_SYNCHRONIZATION_FAULT, 0);
1208     flush_delay_req(p);




*1209     if (p->peer_delay_req) {1210
 msg_put(p->peer_delay_req);1211         p->peer_delay_req = NULL;1212
   pr_notice("%s, %d, peer_delay_req cleared", __FUNCTION__, __LINE__);1214
    }*

Best Regards
Merlin
_______________________________________________
Linuxptp-users mailing list
Linuxptp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-users

Reply via email to