Hello everyone,
I have a Mellanox ConnectX-5 MT27800 card with the driver version 23.10-0.5.5 and I am trying to create a PTP client that synchronizes to an external master.
I am trying to get the hardware timestamp in nanoseconds, but the dpdk library does not have a method to directly get it, only to read the cycles. Is there any way to get this value without using libibverbs?
I am also trying to adjust the time after calculating the PTP delta. However, I don’t know if the ConnectX-5 has an internal software clock that I should adjust (that is somehow more precise than the system clock) or I should adjust the system clock. I could not find any information about this in the specifications.
Thank you for posting your inquiry on the NVIDIA Developer Forum - Infrastructure and Networking - Section.
Unfortunately, the ConnectX-5 HW clock is a free running clock and can only be read. It is read only! When we work with synchronization software like Linux PTP - clock adjustment/change is achieved by using software parameters that holds the values of adjustment and used in actual time calculations.
For any time of clock adjustment you will need to have some software - either standard like ‘Linux PTP’ or to write you own. All such applications use either character Linux device ‘/dev/ptp’ or use our user space API for use cases of kernel bypass.
Thank you and regards,
~NVIDIA Networking Technical Support