There is another option: 1. Move timestampt activation to packet_set_ring(), so it's activated only once at setup instead of every time a packet arrives. 2. Fix sock_setsockopt() so setting SO_TIMESTAMP to 0 effectively disables timestamp.
My first patch set did that. I sent that patches in mime multipart format and they were removed from the list archives. I can resent them in plain text if needed. On jue, 2007-08-09 at 22:18 +0400, Evgeniy Polyakov wrote: > On Thu, Aug 09, 2007 at 08:13:54PM +0200, Unai Uribarri ([EMAIL PROTECTED]) > wrote: > > On jue, 2007-08-09 at 18:33 +0400, Evgeniy Polyakov wrote: > > > On Thu, Aug 09, 2007 at 04:21:54PM +0200, Unai Uribarri ([EMAIL > > > PROTECTED]) wrote: > > > > The attached patch removes the automatic timestamp activation, that > > > > only mmap'ed AF_PACKET sockets perform. I known it can break user > > > > applications, but I believe that it's the correct solution. > > > > > > How tcpdump with mmap libpcap will work with it? > > > > In Linux, you can enable timestamps on any socket executing: > > > > int val = 1; > > setsockopt(sock, SOL_SOCKET, SO_TIMESTAMP, &val, sizeof(val)); > > > > PD: Current release of tcpdump doesn't mmap the reception ring and > > timestamps packets at user space with gettimeofday. It isn't the best > > performing alternative, but it's portable. > > IIRC, there was/is a libpcap which worked with mapped sockets, mybe not > official though. Any application which depened on having timestamps with > packets will not work now. Why not to implement an > absolutely_turn_off_timestamps option instead of breaking compatibility? > - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html