是否可以从linux中的用户空间执行net_enable_timestamp()?

时间:2010-12-08 21:45:02

标签: linux network-programming linux-kernel

我想启用接收网络数据包的时间戳。我发现函数net_enable_timestamp()应该从我这样做,但我在CentOS和ArchLinux中都找不到它。但是当我执行时:

# cat /proc/kallsyms | grep net_enable_timestamp
c126a330 T net_enable_timestamp

在来自kernel.org的内核源代码中,它位于linux / netdevice.h中,但不在上面提到的两个发行版中。是否可以执行它?怎么样?

1 个答案:

答案 0 :(得分:2)

在套接字上启用SO_TIMESTAMP并通过辅助数据访问最后一条消息的时间戳有什么问题?

或者你可以按照socket(7)中的描述调用ioctl(socket,SIOCGSTAMP)


编辑:查看内核源代码,看起来net_enable_timestamp()实际上是在你执行setsockopt时间接调用的(sock,SO_TIMESTAMP ......

所以我的答案回答了你的问题:)