我想启用接收网络数据包的时间戳。我发现函数net_enable_timestamp()应该从我这样做,但我在CentOS和ArchLinux中都找不到它。但是当我执行时:
# cat /proc/kallsyms | grep net_enable_timestamp
c126a330 T net_enable_timestamp
在来自kernel.org的内核源代码中,它位于linux / netdevice.h中,但不在上面提到的两个发行版中。是否可以执行它?怎么样?
答案 0 :(得分:2)
在套接字上启用SO_TIMESTAMP并通过辅助数据访问最后一条消息的时间戳有什么问题?
或者你可以按照socket(7)中的描述调用ioctl(socket,SIOCGSTAMP)
编辑:查看内核源代码,看起来net_enable_timestamp()实际上是在你执行setsockopt时间接调用的(sock,SO_TIMESTAMP ......
所以我的答案回答了你的问题:)