Filtering ingress packets in network interface circuitry
First Claim
1. A method of operating network interface circuitry, wherein the network interface circuitry couples a host computer to a network to facilitate communication over the network between the host computer and a peer, the method comprising:
- by the network interface circuitry,receiving data from the peer via the network; and
processing at least a portion of the received data, including;
processing the at least a portion of the received data to determine an indication of a highest priority one of a plurality of actions to be performed by the network interface controller with respect to the received data, whereinthe plurality of actions include filtering received data and protocol processing of received data for connections between the host and a peer for which the protocol processing has been offloaded to the network interface circuitry by the host, andthe processing of the at least a portion of the received data includes presenting the at least a portion of the received data to lookup circuitry that is configured to automatically provide the indication of the highest priority action, associated with the received data, based not only on whether the portion of the received data presented to the lookup circuitry matches data associated with an indication of an action but also based on an order of the indications of the plurality of actions relative to each other in the lookup circuitry, the indications of protocol processing for connections that have been offloaded being located to indicate, when applicable to particular received data, a higher priority than the filtering actions;
andperforming the indicated highest priority one of the plurality of actions.
9 Assignments
0 Petitions
Accused Products
Abstract
Transfer of data is facilitated between at least one peer application and a host, via a network and network interface circuitry associated with the host. That is, data destined for the host is provided from the peer to the network interface circuitry via the network. The NIC has the capability to offload the processing of data provided according to particular protocols. In addition, based on characteristics of the data, a filtering rule associated with those characteristics may be applied to the data prior to providing the data to the host. When there are a plurality of filter rules associated with characteristics of the data, in some examples, it is automatically determined which one of the plurality of filter rules associated with characteristics of the data to apply to the data.
160 Citations
25 Claims
-
1. A method of operating network interface circuitry, wherein the network interface circuitry couples a host computer to a network to facilitate communication over the network between the host computer and a peer, the method comprising:
by the network interface circuitry, receiving data from the peer via the network; and processing at least a portion of the received data, including; processing the at least a portion of the received data to determine an indication of a highest priority one of a plurality of actions to be performed by the network interface controller with respect to the received data, wherein the plurality of actions include filtering received data and protocol processing of received data for connections between the host and a peer for which the protocol processing has been offloaded to the network interface circuitry by the host, and the processing of the at least a portion of the received data includes presenting the at least a portion of the received data to lookup circuitry that is configured to automatically provide the indication of the highest priority action, associated with the received data, based not only on whether the portion of the received data presented to the lookup circuitry matches data associated with an indication of an action but also based on an order of the indications of the plurality of actions relative to each other in the lookup circuitry, the indications of protocol processing for connections that have been offloaded being located to indicate, when applicable to particular received data, a higher priority than the filtering actions; and performing the indicated highest priority one of the plurality of actions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 13, 14, 15, 16, 17)
-
9. A method of operating network interface circuitry, wherein the network interface circuitry is configured to handle protocol processing of connections offloaded from a host, with respect to data communication over a network between a peer and the host, the method comprising:
-
by the network interface circuitry, determining an indication of a highest priority one of a plurality of actions to be performed by the network interface controller with respect to the received data, the determining including a) receiving data nominally from the peer via the network; b) processing the received data such that, b1) if the data is data of a connection that is offloaded from the host, determining an indication of an action to communicate with the peer according to the protocol and to pass data resulting therefrom to the host; and b2) if the data is not data of a connection that is offloaded from the host and if there is at least one action that is a filtering rule associated with characteristics of the data, automatically determining an action that is a particular one of the filtering rules associated with characteristics of the received data to apply to the received data, wherein the processing of the received data is based not only on whether the portion of the received data presented to the lookup circuitry matches data associated with an indication of an action but is also based on an order of the indications of the plurality of actions relative to each other in the lookup circuitry; and applying the determined highest priority filtering rule to the data. - View Dependent Claims (10, 11)
-
-
12. Network interface circuitry configured to couple a host computer to a network to facilitate communication over the network between the host and a peer, the network interface circuitry comprising:
-
circuitry configured to receive data from the network; circuitry configured to process the received data to determine an indication of a highest priority one of a plurality of actions to be performed by the network interface controller with respect to the received data, wherein the processing includes presenting the at least a portion of the received data to lookup circuitry that is configured to automatically provide the indication of the highest priority action, associated with the received data, based not only on whether the portion of the received data presented to the lookup circuitry matches data associated with an indication of an action but also based on an order of the indications of the plurality of actions relative to each other in the lookup circuitry, wherein the actions include protocol processing with respect to a connection to which the received data belongs or filtering for received data which does not belong to a connection whose protocol processing is being handled by the network interface circuitry; and circuitry configured to provide, to the host computer, the received data having the particular indicated highest priority action applied, wherein the circuitry configured to provide, to the host computer, the received data having the indicated action applied, is configured to selectively block the received data from being provided to the host computer based at least in part on the indicated particular action being a filtering rule applicable to the received data.
-
-
18. A method of operating network interface circuitry, wherein the network interface circuitry couples a host computer to a network to facilitate communication over the network between the host computer and a peer, the method comprising:
by the network interface circuitry, receiving data from the peer via the network; and processing at least a portion of the received data, including; processing the at least a portion of the received data to determine an indication of a highest priority one of a plurality of actions to be performed by the network interface controller with respect to the received data, wherein the plurality of actions include filtering received data and protocol processing of received data for connections between the host and a peer for which the protocol processing has been offloaded to the network interface circuitry by the host, and the processing of the at least a portion of the received data includes presenting the at least a portion of the received data to lookup circuitry that is configured to automatically provide the indication of the highest priority action, associated with the received data, the indications of protocol processing for connections that have been offloaded indicating, when applicable to particular received data, a higher priority than the filtering actions; and performing the indicated highest priority one of the plurality of actions. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
Specification