System and method for controlling a flow of data a network interface controller to a host processor
First Claim
1. A method for controlling a flow of data from a network interface controller (NIC) to a host processor, the method comprising:
- receiving data on the NIC;
sending at least a portion of the data received by the NIC to the host processor;
monitoring a load on the host processor as it handles the data received from the NIC; and
throttling the sending of the data from the NIC to the host processor in response to the monitoring of the load.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for controlling a flow of data from a network interface controller (NIC) to a host processor coupled to the NIC. Data such as IP packets are received by the NIC and may be transmitted to the host processor for further processing such as firewall processing. The NIC is in communication with the host processor using, for example, a software driver running on the host processor. The NIC may monitor the processing load on the host processor as it handles packet data received from the NIC. As the processing load increases, the NIC may begin to throttle the quantity of packets being sent to the host processor in order to avoid overloading the host processor. The throttling may be governed by a heuristic throttling function.
71 Citations
21 Claims
-
1. A method for controlling a flow of data from a network interface controller (NIC) to a host processor, the method comprising:
-
receiving data on the NIC;
sending at least a portion of the data received by the NIC to the host processor;
monitoring a load on the host processor as it handles the data received from the NIC; and
throttling the sending of the data from the NIC to the host processor in response to the monitoring of the load. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for controlling a flow of packets from a network interface controller (NIC) to a host processor, the method comprising:
-
monitoring a packet processing load on the host processor as it handles packets received from the NIC; and
throttling the sending of the packets from the NIC to the host processor in response to the monitoring of the load. - View Dependent Claims (15, 16)
-
-
17. A method for controlling a flow of packets from a network interface controller (NIC) to a host processor, the method comprising:
-
monitoring by the NIC of one or more input packet queue lengths of the host processor;
using a throttling function to select a throttling limit dependent on the one or more input packet queue lengths monitored by the NIC; and
limiting the flow to the host processor of packets received by the NIC that exceed the throttling limit. - View Dependent Claims (18, 19, 20)
-
-
21. A method for controlling a flow of data from a network interface controller (NIC) to a host processor, the method comprising:
-
receiving data on the NIC;
sending at least a portion of the data received by the NIC to the host processor;
assigning a priority to a selected portion of the data received by the NIC based on the packet type of the data to provide prioritized data;
monitoring a load on the host processor as it handles the data received from the NIC; and
throttling the sending of the prioritized data from the NIC to the host processor in response to the monitoring of the load.
-
Specification