2010-12-08 10 views
0

Ich möchte das Zeitstempeln empfangener Netzwerkpakete aktivieren. Ich fand, dass die Funktion net_enable_timestamp() diese Form von mir haben sollte, aber ich kann sie weder in CentOS noch in ArchLinux finden. Aber wenn ich ausführen:Ist es möglich, net_enable_timestamp() aus Benutzerbereich in Linux auszuführen?

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

In Kernelquellen von kernel.org es in linux/netdevice.h gelegen ist, aber nicht in beiden distros oben erwähnt. Ist es möglich, es auszuführen? Wie?

Antwort

2

Was ist los mit der Aktivierung von SO_TIMESTAMP auf dem Socket und Zugriff auf den Zeitstempel der letzten Nachricht über zusätzliche Daten?

Alternativ können Sie rufen ioctl (Buchse, SIOCGSTAMP), wie in Buchse beschrieben (7)


Edit: Mit Blick auf den Kernel-Quellcode, scheint es, dass net_enable_timestamp() wird indirekt tatsächlich aufgerufen, wenn Sie tun setsockopt (Socke, SO_TIMESTAMP ...

Also meine Antwort beantwortet Ihre Frage :)

+0

ja! Sie haben Recht! Ich weiß nicht, warum ich .c-Dateien beim Durchsuchen der Kernel-Quelle weggelassen habe und versucht habe, mein Problem zu lösen. – pejotr

Verwandte Themen