Можно ли выполнить net_enable_timestamp () из пользовательского пространства в Linux? - PullRequest
0 голосов
/ 09 декабря 2010

Я хотел бы включить отметку времени полученных сетевых пакетов.Я обнаружил, что функция net_enable_timestamp () должна выполнять эту функцию, но я не могу найти ее ни в CentOS, ни в ArchLinux.Но когда я выполняю:

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

В исходном коде ядра из kernel.org он находится в linux / netdevice.h, но не в обоих вышеупомянутых дистрибутивах.Возможно ли это выполнить?Как?

1 Ответ

2 голосов
/ 09 декабря 2010

Что не так с включением SO_TIMESTAMP в сокете и доступом к отметке времени последнего сообщения через вспомогательные данные?

В качестве альтернативы вы можете вызвать ioctl (socket, SIOCGSTAMP), как описано в socket (7)


Редактировать: Глядя на исходный код ядра, кажется, что net_enable_timestamp () фактически вызывается косвенно, когда вы выполняете setsockopt (sock, SO_TIMESTAMP ...

Поэтому мой ответ отвечает на ваш вопрос:)

...