Getting started with hardware timestamping and Ethernet frames (i350)
I have a project where I want to timestamp all packets arriving on all four ports of an i350 device. The system will be running Linux.
I found the igb driver and in the readme it says "The igb driver supports IEEE 1588 time stamping for kernels 2.6.30 and above.".
However, what I haven't found is documentation that explains how to enable timestamping and then actually use it.
1) Can someone point me in the right direction for a "getting started guide" or provide some tips please? I've seen posts related to using ioctl calls to enable things but I'm assuming there must be some official documentation somewhere?
2) Is it possible to set the clock/counter used for timestamping packets after they arrive at the PHY from the Linux system clock? The Linux system clock will be synched to IRIG-B.
3) I'll be capturing UDP packets. What C/C++ based approach is recommended if I want to receive and examine the actual 14 byte Ethernet frames and CRC as well? pcap? raw frames? The same approach should also allow examining the timestamp performed by the i350.