[Linuxptp-users] bad message due to padding of FOLLOW_UP and DELAY_REQ
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
From: Peter B. <pe...@be...> - 2022-01-12 15:14:45
|
Hi, I have a setup with TI processor using the cpsw driver from Linux mainline, kernel version 5.4. I'm using IEEE 802.3 network transport and sending PTP frames on Ethernet. When sending SYNC, FOLLOW_UP and DELAY_REQ that has a length of 58 bytes they get padded up to 64 bytes. When receiving FOLLOW_UP and DELAY_REQ in linuxptp they are dropped with message "bad message" because the stack treats the padding as a TLV entry (suffix_post_recv in msg.c returns 4) and the pdulen and messageLength mismatch. IEEE 802.3 minimum PDU size is 64 bytes. PTP messages SYNC, FOLLOW_UP and DELAY_REQ is smaller than that, 58 bytes. Are there any spec telling how to send PTP messages smaller than 64 bytes on Ethernet? On the other side in my setup I have a PC with e1000e driver. On that side when sending SYNC, FOLLOW_UP and DELAY_REQ over Ethernet the PDUs are padded to 60 bytes. Also tested a NXP processor (i.Mx8mp) and that one also padded to 60 bytes. A slightly different approach that is working with linuxptp. Is my issue with the TI processor a driver issue with the cpsw driver in Linux? Thanks, /Peter |