Sometimes, users will see the following in their kernel logs:
[Sep24 20:53] exanic 0000:1a:00.0 enp26s0: tx timestamping failed
[Sep24 22:05] exanic 0000:1a:00.0 enp26s0: tx timestamping failed
[Sep24 23:55] exanic 0000:1a:00.0 enp26s0: tx timestamping failed
The ExaNIC takes a hardware timestamp of each received packet, and this is passed up to the host as metadata for that packet.
Transmit timestamps are handled differently. The card will take a timestamp of each transmitted packet (per interface), and save this to a register that the host can read. If there is a large amount of traffic being sent out a given interface, the host can lose track of the which packet a given transmit timestamp applies to. Depending on the frequency of these events, this can have an adverse impact on time synchronization daemons that rely on transmit timestamps, for example PTP.