Sharing a network interface card among multiple hosts
First Claim
Patent Images
1. A network interface device, comprising:
- a fabric interface, for exchanging messages over a switch fabric with a plurality of host processors, the messages containing data;
a network interface, comprising one or more network ports for coupling to a network external to the switch fabric; and
message processing circuitry, coupled between the fabric interface and the network interface, so as to enable at least first and second host processors among the plurality of the host processors to use a single one of the network ports substantially simultaneously so as to transmit and receive frames containing the data over the network;
wherein the messages comprise outgoing messages sent by the host processors over the switch fabric, and wherein the message processing circuitry extracts the data from the outgoing messages and to generates the frames containing the extracted data for transmission over the network;
wherein the message processing circuitry assigns respective service levels to the host processors, and determines an order of processing the outgoing messages responsive to the service levels; and
wherein the fabric interface exchanges the messages with the host processors over respective transport connections between the host processors and the fabric interface, and wherein the message processing circuitry assigns each of the transport connections to a respective one of the service levels.
3 Assignments
0 Petitions
Accused Products
Abstract
A network interface device includes a fabric interface, adapted to exchange messages over a switch fabric with a plurality of host processors, the messages containing data, and a network interface, including one or more ports adapted to be coupled to a network external to the switch fabric. Message processing circuitry is coupled between the fabric interface and the network interface, so as to enable at least first and second host processors among the plurality of the host processors to use a single one of the ports substantially simultaneously so as to transmit and receive frames containing the data over the network.
-
Citations
49 Claims
-
1. A network interface device, comprising:
-
a fabric interface, for exchanging messages over a switch fabric with a plurality of host processors, the messages containing data; a network interface, comprising one or more network ports for coupling to a network external to the switch fabric; and message processing circuitry, coupled between the fabric interface and the network interface, so as to enable at least first and second host processors among the plurality of the host processors to use a single one of the network ports substantially simultaneously so as to transmit and receive frames containing the data over the network; wherein the messages comprise outgoing messages sent by the host processors over the switch fabric, and wherein the message processing circuitry extracts the data from the outgoing messages and to generates the frames containing the extracted data for transmission over the network; wherein the message processing circuitry assigns respective service levels to the host processors, and determines an order of processing the outgoing messages responsive to the service levels; and wherein the fabric interface exchanges the messages with the host processors over respective transport connections between the host processors and the fabric interface, and wherein the message processing circuitry assigns each of the transport connections to a respective one of the service levels. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for interfacing a plurality of host processors to a network, comprising:
-
providing a network interface device having one or more network ports connected to a network; coupling the host processors to exchange messages containing data over a switch fabric with the network interface device, such that at least first and second host processors among the plurality of the host processors are assigned to use a single one of the network ports of the network interface device; and processing the messages exchanged with the host processors so as to enable the first and second host processors to use the single one of the network ports substantially simultaneously to transmit and receive flames containing the data over the network; wherein processing the messages comprises processing outgoing messages sent by the host processors over the switch fabric, so as to extract the data from the outgoing messages and to generate the flames containing the extracted data for transmission over the network; wherein processing the outgoing messages comprises assigning respective service levels to the host processors, and determining an order of processing the outgoing messages responsive to the service levels; and wherein coupling the host processors to exchange the messages comprises exchanging the messages over respective transport connections between the host processors and the network interface device, and wherein assigning the respective service levels comprises assigning each of the transport connections to a respective one of the service levels. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A network interface device, comprising:
-
a fabric interface, for exchanging messages over a switch fabric with a plurality of host processors, including first and second host processors, the messages containing data and including outgoing messages sent by the host processors over the switch fabric; a network interface, for coupling to a network external to the switch fabric; and message processing circuitry, coupled between the fabric interface and the network interface, and for extracting the data from the outgoing messages and for generating frames containing the extracted data for transmission over the network via the network interface, and further determining whether any of the frames generated in response to one of the outgoing messages from the first host processor are destined to be received by the second host processor and, if so, to loop the data in the frames destined to be received by the second host processor back to the fabric interface, to be conveyed over the switch fabric to the second host processor without being transmitted over the network. - View Dependent Claims (29, 30, 31)
-
-
32. A network interface device, comprising:
-
a fabric interface, for exchanging messages over a switch fabric with a plurality of host processors, the messages containing data; a network interface, for coupling to a network external to the switch fabric; and message processing circuitry, coupled between the fabric interface and the network interface, so as to enable at least first and second host processors among the plurality of the host processors to transmit and receive frames containing the data over the network via the network interface, the message processing circuitry comprising a plurality of counters, which collect performance statistics individually for each of the first and second host processors regarding the frames transmitted and received via the network interface.
-
-
33. A method for interfacing a plurality of host processors to a network, comprising:
-
connecting a network interface device to a network; coupling the host processors, including at least first and second host processors among the plurality of the host processors, to exchange messages containing data over a switch fabric with the network interface device, the messages including outgoing messages sent by the host processors over the switch fabric; processing the messages so as to extract the data from the outgoing messages and to generate frames containing the extracted data for transmission over the network via the network interface device; and determining whether any of the frames generated for transmission over the network in response to one of the outgoing messages from the first host processor are destined to be received by the second host processor and, if so, looping the data in the frames destined to be received by the second host processor back to the fabric interface, to be conveyed over the switch fabric to the second host processor without being transmitted over the network. - View Dependent Claims (34, 35, 36)
-
-
37. A method for interfacing a plurality of host processors to a network, comprising:
-
connecting a network interface device to a network; coupling the host processors to exchange messages containing data over a switch fabric with the network interface device; processing the messages exchanged with the host processors so as to enable the first and second host processors to transmit and receive frames containing the data over the network via the network interface device; and collecting performance statistics at the network interface device individually for each of the first and second host processors regarding the frames transmitted and received via the network interface device.
-
-
38. A network interface device, comprising:
-
a fabric interface, for exchanging messages over a switch fabric with a plurality of host processors, the messages containing data; a network interface, comprising one or more network ports for coupling to a network external to the switch fabric; and message processing circuitry, coupled between the fabric interface and the network interface, so as to enable at least first and second host processors among the plurality of the host processors to use a single one of the network ports substantially simultaneously so as to transmit and receive frames containing the data over the network; wherein the messages comprise outgoing messages sent by the host processors over the switch fabric, and wherein the message processing circuitry extracts the data from the outgoing messages and generates the frames containing the extracted data for transmission over the network; and wherein the message processing circuitry determines whether any of the frames generated for transmission over the network in response to one of the outgoing messages from the first host processor are destined to be received by the second host processor and, if so, to loop the data in the flames destined to be received by the second host processor back to the fabric interface, to be conveyed over the switch fabric to the second host processor without being transmitted over the network. - View Dependent Claims (39, 40, 41)
-
-
42. A network interface device, comprising:
-
a fabric interface, for exchanging messages over a switch fabric with a plurality of host processors, the messages containing data; a network interface, comprising one or more network ports for coupling to a network external to the switch fabric; and message processing circuitry, coupled between the fabric interface and the network interface, so as to enable at least first and second host processors among the plurality of the host processors to use a single one of the network ports substantially simultaneously so as to transmit and receive flames containing the data over the network; wherein the messages comprise incoming messages sent from the fabric interface to the host processors, and wherein the message processing circuitry extracts the data from the frames received over the network and generates the incoming messages containing the extracted data to be sent to the host processors; wherein the message processing circuitry comprises a destination address filter, which processes destination addresses of the frames received over the network so as to indicate which of the host processors should receive the incoming messages over the switch fabric; and wherein the messages further comprise outgoing messages sent by the host processors over the switch fabric, and wherein the message processing circuitry extracts the data from the outgoing messages and generates the flames containing the data extracted from the outgoing messages for transmission over the network, and wherein the destination address filter processes the destination addresses of the generated flames so as to determine whether any of the frames are destined to be received by any of the host processors and, if so, to loop the data in the frames back to the fabric interface, to be conveyed over the switch fabric to the host processors that are destined to receive them.
-
-
43. A network interface device, comprising:
-
a fabric interface, for exchanging messages over a switch fabric with a plurality of host processors, the messages containing data; a network interface, comprising one or more network ports for coupling to a network external to the switch fabric; and message processing circuitry, coupled between the fabric inter%ce and the network interface, so as to enable at least first and second host processors among the plurality of the host processors to use a single one of the network ports substantially simultaneously so as to transmit and receive frames containing the data over the network; wherein the message processing circuitry comprises a plurality of counters, which collect performance statistics individually for each of the first and second host processors regarding the frames transmitted and received using the single one of the network ports.
-
-
44. A method for interfacing a plurality of host processors to a network, comprising:
-
providing a network interface device having one or more network ports connected to a network; coupling the host processors to exchange messages containing data over a switch fabric with the network interface device, such that at least first and second host processors among the plurality of the host processors are assigned to use a single one of the network ports of the network interface device; and processing the messages exchanged with the host processors so as to enable the first and second host processors to use the single one of the network ports substantially simultaneously to transmit and receive frames containing the data over the network; wherein processing the messages comprises processing outgoing messages sent by the host processors over the switch fabric, so as to extract the data from the outgoing messages and to generate the frames containing the extracted data for transmission over the network; and wherein processing the messages comprises determining whether any of the frames generated for transmission over the network in response to one of the outgoing messages from the first host processor are destined to be received by the second host processor and, if so, looping the data in the frames destined to be received by the second host processor back to the fabric interface, to be conveyed over the switch fabric to the second host processor without being transmitted over the network. - View Dependent Claims (45, 46, 47)
-
-
48. A method for interfacing a plurality of host processors to a network, comprising:
-
providing a network interface device having one or more network ports connected to a network; coupling the host processors to exchange messages containing data over a switch fabric with the network interface device, such that at least first and second host processors among the plurality of the host processors are assigned to use a single one of the network ports of the network interface device; and processing the messages exchanged with the host processors so as to enable the first and second host processors to use the single one of the network ports substantially simultaneously to transmit and receive frames containing the data over the network; wherein processing the messages comprises processing the frames received over the network so as to extract the data therefrom, and wherein the messages comprise incoming messages containing the extracted data, sent from the network interface device to the host processors; wherein processing the messages comprises providing a destination address filter, and processing destination addresses of the frames received over the network using the filter so as to indicate which of the host processors should receive the incoming messages over the switch fabric; and wherein processing the messages further comprises processing outgoing messages sent by the host processors over the switch fabric, so as to extract the data from the outgoing messages and to generate the frames containing the data extracted from the outgoing messages for transmission over the network, and wherein processing the outgoing messages comprises processing the destination addresses of the generated frames using the destination address filter so as to determine whether any of the frames are destined to be received by any of the host processors and, if so, looping the data in the frames back to be conveyed over the switch fabric to the host processors that are destined to receive them.
-
-
49. A method for interfacing a plurality of host processors to a network, comprising:
-
providing a network interface device having one or more network ports connected to a network; coupling the host processors to exchange messages containing data over a switch fabric with the network interface device, such that at least first and second host processors among the plurality of the host processors are assigned to use a single one of the network ports of the network interface device; and processing the messages exchanged with the host processors so as to enable the first and second host processors to use the single one of the network ports substantially simultaneously to transmit and receive frames containing the data over the network; wherein the processing the messages comprises collecting performance statistics individually for each of the first and second host processors regarding the frames transmitted and received using the single one of the network ports.
-
Specification