Upon reading your documentation for the XL710 and the driver and the Linux Kernel ( ) , it appears that HW Timestamping exists for the XL710 on transmit. Specifically , Intel's driver uses it to implement PTP protocol in the driver file i40e_ptp.c for the Linux i40e driver. My question is a follow up to Suresh's , namely, according to the driver spec and the Linux kernel spec, if one specifies the socket option SOF_TIMESTAMPING_TX_HARDWARE ( with SO_TIMESTAMP also specified ) the timestamp is included when "the packet is provided to the Network adapter" as defined in https://www.kernel.org/doc/Documentation/networking/timestamping.txt .
My question is, this timestamping functionality, according to linuxptp.sourceforge.net, is considered to be applied at the MAC level and not the PHY. Can you let me know what that means ? Are these timestamps always incrementing for packets as they are sent out or is there the potential that these timestamps will not be "strictly increasing" for consecutive packets sent out by the XL710 NIC ?
I am working on a project that doesn't care about the packets received, only that we know the ordering of the packets sent out. If we know that two consecutive packets arriving at MAC layer will always have the first packet arriving ( and leaving ) timestamped with the lower timestamp than it's successor, then we are happy. Is this the case ?
Thank you for your feedback,