Patent ID: 9235449
Filing Date: 2016-01-12
CPC Classification: G06F,H04L

Claim Text:
1. A network element, comprising: a receiver having a receive queue for receiving data packets from a communication network; a transmitter having a transmit queue; a software queue coupled to the transmitter and the receiver; memory for storing a data path thread, a queue management thread, and a transmit driver; and a processing element for executing the data path thread, the queue management thread, and the transmit driver, the processing element coupled to the transmitter, the receiver, the software queue, and the memory, the data path thread configured to move the data packets from the receive queue to the software queue, the data path thread further configured to call the transmit driver after moving the data packets to the software queue, wherein the transmit driver is configured to pull the data packets from the software queue for insertion into the transmit queue for transmission by the transmitter until the software queue becomes empty or the transmit queue becomes full, wherein the transmit driver is configured to set a flow indicator to a first value in response to a determination that the software queue becomes empty while the transmit driver is pulling the data packets from software queue and to set the flow indicator to a second value in response to a determination that the transmit queue becomes full while the transmit driver is pulling the data packets from the software queue, and wherein the queue management thread is configured to call the transmit driver based on the flow indicator if the flow indicator is set to the second value.