Patent ID: 8225329

Claim:
A network device comprising: a line interface to receive and transmit data units; a memory including a user space and a kernel space, the user space including a first-in-first-out (FIFO) queue to store the data units and corresponding metadata; and a processor to: write one of the data units and the corresponding metadata to the FIFO queue based on the kernel space, the metadata including a particular pointer to point to a region of the FIFO queue to store another of the data units; read the data unit according to a user space process associated with the user space; determine whether to transmit the data unit or drop the data unit based on one or more rules associated with the user space process; store, in the kernel space, a pointer that points to the particular pointer; and issue a direct memory access command, based on the user space process, to the line interface to transmit the data unit directly from the FIFO queue when the data unit conforms to the one or more rules, where the line interface issues an interrupt to the kernel space when the data unit is transmitted, where the processor is further to: disable, via the kernel space, additional interrupts from the line interface after the interrupt is received, and cause the kernel space to queue a soft interrupt to service transmitted one or more data units based on a polling routine.