Messages in this thread | | | Date | Mon, 16 Oct 2006 11:56:41 +0100 | From | Pádraig Brady <> | Subject | Re: poll problem with PF_PACKET when using PACKET_RX_RING |
| |
Joan Raventos wrote: > Hello, > > In order to use PF_PACKET/SOCK_RAW with PACKET_RX_RING > one would possibly do (as described in > Documentation/networking/packet_mmap.txt): > 1. setup PF_PACKET socket via socket call. > 2. use setsockopt to change the PF_PACKET socket into > PACKET_RX_RING mode and alloc the ring. > 3. mmap the ring. > 4. use poll with the socket descriptor and then > directly access the pkts from the mmaped ring.
A few years back I developed a network sniffer on 2.4.20 using PACKET_MMAP supporting very high packet rates. When testing with high packet rates, invariably if traffic was present while the buffers were being setup, the buffer data would be corrupted. I worked around it by ensuring no packets went into the stack before the userspace process sniffing the packets was started.
Pádraig. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |