Menu

IPV4/UDP help

Help
JohnC
2013-06-04
2013-06-04
  • JohnC

    JohnC - 2013-06-04

    I have an embedded device that works using the 802.3 protocol. I have made changes to its FPGA code and the PTPd to work with IPV4/UDP. I am having a problem getting my master clock to sync with the device. My device issues the Pdelay_Req_message but the master dosn't respond to it. Wireshark recognizes the packet and doesn't indicate any error. My concern is that I have the wrong multicast information. IPV4mcast 01:00:5e:00:00:6b Dst 224.0.1.129 src port 319 dst port 319 messageId 0x02. Can someone tell me these numbers llok correct?

    Regards :~)

     
  • Jan Breuer

    Jan Breuer - 2013-06-04

    There are two delay measurement mechanisms.
    - E2E using DelayReq and DelayRespons.
    - P2P using PDelayReq, PDelayResp, PDelayRespFollowUp.

    You can't mix them together.
    PTPds default is E2E and it ignores all P2P messages. You can run PTPd to accept P2P messages using -z parameter.

    IPv4 mcast address is 224.0.1.129
    IPv4 mcast address for P2P messages is 224.0.0.107

    Event messages are send to port 319
    General messages are send to port 320

     
  • JohnC

    JohnC - 2013-06-04

    Does the transport mean effect the delay-measurement mechanism? The master clock appears to be using P2P. it issues Announce message and sync message. When I have the master set to use 802.3 transport all works fine. I would think switching from 802.3 to IPV4 wouldn't change the delay measurement mode. I am wrong on this assumption?

     
    • Jan Breuer

      Jan Breuer - 2013-06-04

      You are not wrong, just double check this. I don't know your master and it can defaults P2P for 802.3 transport and E2E for IP transport.

      If the master is set as P2P, it should also send PDelayReq messages. You should see them on the slave side.

      You can also try to change TTL, but P2P messages are designed to be only Link-local.

      Check everything with direct cable connection of master and slave.

       
  • JohnC

    JohnC - 2013-06-04

    netSendPeerEvent is the function that is sending out the information. I have made changes to this function to detect if it is 802.3 or UDP and then use the appropriate IP headers. This is all running on a embedded device using an ACTEL core with a cortex cpu and FPGA core to do the timing measurements and access the RMII interface of the network.

     
  • JohnC

    JohnC - 2013-06-04

    The device is getting the time from the master and displaying it but I feel that it isn't fully accurate since the delay request message isn't being answered by the master?

     

Log in to post a comment.