ConnectX-5 hardware timestamping to software in dpdk

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.

Thanks a lot,
Roberto