tech-net archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
SO_TIMESTAMP vs ICMP6?
I'm trying to build a program that sends and receives ICMP6 packets. I
want accurate timestamps on the received packets. So, I turned on
SO_TIMESTAMP on the socket.
It didn't work. recvmsg returned zero bytes of control data. (It
works as expected for IPv4.)
So I tried it on a 9.1 machine I have root access to at work, only to
find it doesn't work there either.
I've written a small test program. It needs SOCK_RAW access, so it
needs to be run as root, but it's small enough to read over in full.
See {http,ftp}://ftp.rodents-montreal.org/mouse/misc/test-icmp6.c for
the source. Run it with no args on a v6-capable machine; it uses ::1,
so you don't need a second machine.
I get "data 64, ctl 0". The ctl number should be nonzero; the exact
value depends on things such as sizeof(struct timeval) on the relevant
system - with a little kernel bludgeoning, my dev system (my mutant
4.0.1, on i386) sees 24 there.
Could someone maybe test this to see if it works on -current? If not,
I'll send-pr it, unless someone explains why it's not supposed to work
for IPv6.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse%rodents-montreal.org@localhost
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
Home |
Main Index |
Thread Index |
Old Index