libpcap
libpcap copied to clipboard
Replace deprecated SOF_TIMESTAMPING_SYS_HARDWARE
Replace deprecated SOF_TIMESTAMPING_SYS_HARDWARE to enable hardware timestamp
When (what kernel/libc?) did new symbol become available?
Why not hardware time stamps for transmitted packets as well?
Does the proposed change still make sense?
For reference, this is the Linux kernel documentation that describes SOF_TIMESTAMPING_SYS_HARDWARE as "deprecated and ignored", below is a list of values from /usr/include/linux/net_tstamp.h:
/* SO_TIMESTAMPING gets an integer bit field comprised of these values */
enum {
SOF_TIMESTAMPING_TX_HARDWARE = (1<<0),
SOF_TIMESTAMPING_TX_SOFTWARE = (1<<1),
SOF_TIMESTAMPING_RX_HARDWARE = (1<<2),
SOF_TIMESTAMPING_RX_SOFTWARE = (1<<3),
SOF_TIMESTAMPING_SOFTWARE = (1<<4),
SOF_TIMESTAMPING_SYS_HARDWARE = (1<<5),
SOF_TIMESTAMPING_RAW_HARDWARE = (1<<6),
SOF_TIMESTAMPING_OPT_ID = (1<<7),
SOF_TIMESTAMPING_TX_SCHED = (1<<8),
SOF_TIMESTAMPING_TX_ACK = (1<<9),
SOF_TIMESTAMPING_OPT_CMSG = (1<<10),
SOF_TIMESTAMPING_OPT_TSONLY = (1<<11),
SOF_TIMESTAMPING_OPT_STATS = (1<<12),
SOF_TIMESTAMPING_OPT_PKTINFO = (1<<13),
SOF_TIMESTAMPING_OPT_TX_SWHW = (1<<14),
SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_TX_SWHW,
SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) |
SOF_TIMESTAMPING_LAST
};
This pull request seem totally legit. I have made some basic test and timestamp seem valid with this patch.
After some research :
- Flag SOF_TIMESTAMPING_SYS_HARDWARE usage totally disappear between kernel version 3.16 and 3.17.
- Flag SOF_TIMESTAMPING_RX_HARDWARE is used in Ethernet kernel driver to indicate hardware timestamp capability in ethtool.