Multi-purpose switching network interface controller
First Claim
Patent Images
1. A network interface controller configured to facilitate communication among a host and external network connections to a network, comprising:
- a plurality of scatter gather circuits configured to be connected to the host via a host bus;
a packet buffer configured for communication with the scatter gather circuits;
a plurality of access circuits configured to access the external network connections; and
a forwarding engine selectable to generate routing information corresponding to particular data, received via a particular access circuit from a particular one the external network connections, wherein the particular access circuit is any of the plurality of access circuits, and to provide the routing information to the packet buffers,wherein the network interface controller is configured to selectively operate in at leasta network interface controller mode of operation, in which the forwarding engine is inactive;
a switch mode of operation, in which the scatter gather circuits are configured for pass-through communication of the particular data between the packet buffer and host bus, and the forwarding engine is configured to generate the routing information to cause the particular data to be routed between the particular access circuit and the packet buffer; and
a hybrid mode of operation, in which the forwarding engine is configured to process the particular data to determine whether the particular data is to be switched to another access circuit, different from the particular access circuit, to be provided to another external network connection, different from the particular external network connection, or whether the particular data is to be provided from the particular access circuit to the packet buffer and from the packet buffer to the scatter gather circuits for delivery to the host.
11 Assignments
0 Petitions
Accused Products
Abstract
A network interface controller includes a plurality of scatter gather circuits (104a-104d) connectable to a host via a bus (101). A packet buffer (112) is configured for communication with the scatter gather circuits (104a-104d). A plurality of access circuits (110a-110d) are configured to access external network connections. An optional forwarding engine (108) is selectable to generate routing information corresponding to data received via the access circuits (110a-110d) and to provide the routing information to the packet buffer (112).
79 Citations
7 Claims
-
1. A network interface controller configured to facilitate communication among a host and external network connections to a network, comprising:
-
a plurality of scatter gather circuits configured to be connected to the host via a host bus; a packet buffer configured for communication with the scatter gather circuits; a plurality of access circuits configured to access the external network connections; and a forwarding engine selectable to generate routing information corresponding to particular data, received via a particular access circuit from a particular one the external network connections, wherein the particular access circuit is any of the plurality of access circuits, and to provide the routing information to the packet buffers, wherein the network interface controller is configured to selectively operate in at least a network interface controller mode of operation, in which the forwarding engine is inactive; a switch mode of operation, in which the scatter gather circuits are configured for pass-through communication of the particular data between the packet buffer and host bus, and the forwarding engine is configured to generate the routing information to cause the particular data to be routed between the particular access circuit and the packet buffer; and a hybrid mode of operation, in which the forwarding engine is configured to process the particular data to determine whether the particular data is to be switched to another access circuit, different from the particular access circuit, to be provided to another external network connection, different from the particular external network connection, or whether the particular data is to be provided from the particular access circuit to the packet buffer and from the packet buffer to the scatter gather circuits for delivery to the host. - View Dependent Claims (2, 3, 4, 5, 6, 7)
the packet buffer and scatter gather circuits are configured to communicate the particular data from the packet buffer to the scatter gather circuits.
-
-
3. The network interface controller of claim 2, wherein:
the packet buffer and the plurality of access circuits being configured to communicate the particular data from the particular access circuit to the packet buffer includes the packet buffer being configured to utilize paging hardware thereof for receiving the particular data from the particular access circuit.
-
4. The network interface controller of claim 3, wherein:
the packet buffer and the plurality of access circuits being configured to communicate the particular data from the particular access circuit to the packet buffer includes the packet buffer being configured to selectively cause the particular access circuit to assert flow control signals to a corresponding link partner via the particular one of the external network connections.
-
5. The network interface controller of claim 1, wherein:
the forwarding engine being configured, in the switch mode of operation, to generate the routing information includes the forwarding engine being configured to compute a routing vector based on the particular data and to provide the computed routing vector to the packet buffer.
-
6. The network interface controller of claim 5, wherein:
in the switch mode of operation, the packet buffer is configured to process the received routing vector to control the flow of the particular data from the packet buffer.
-
7. The network interface controller of claim 1, wherein in the hybrid mode of operation:
-
the forwarding engine is configured to process the particular data and to generate the routing information therefrom; and the packet buffer is configured to process the generated routing information to selectively provide the particular data to the another access circuit or to the scatter gather circuits.
-
Specification