METHOD AND APPARATUS FOR A SHARED I/O NETWORK INTERFACE CONTROLLER
First Claim
1. A method for correlating Ethernet packets within a shared network interface controller with a plurality of upstream operating system domains, comprising:
- receiving the packets into the shared network interface controller;
associating the packets with the plurality of upstream operating system domains by correlating destination MAC addresses within the packets with ones of the plurality of upstream operating system domains;
caching descriptors for each of the plurality of upstream operating system domains which define where in their memories the packets are to be transferred; and
transferring the packets, per the descriptors, to the plurality of upstream operating system domains via a load-store link which allows the packets to be tagged with information which associates the packets with their upstream operating system domain.
4 Assignments
0 Petitions
Accused Products
Abstract
A shared network interface controller (NIC) interfaces a plurality of operating system domains as part of the load-store architecture of the operating system domains. A bus interface couples the NIC to a load-store domain bus (such as PCI-Express), using header information to associate data on the bus with an originating operating system domain. Transmit/receive logic connects the NIC to the network. Association logic allows the NIC to designate, and later lookup which destination MAC address (on the Ethernet side) is associated with which operating system domain. Descriptor register files and Control Status Registers (CSR'"'"'s) specific to an operating system domain are duplicated and made available for each domain. Several direct memory access (DMA) engines are provided to improve throughput. Packet replication logic, filters (perfect and hash) and VLAN tables are used for looping back packets originating from one operating system domain to another and other operations.
17 Citations
2 Claims
-
1. A method for correlating Ethernet packets within a shared network interface controller with a plurality of upstream operating system domains, comprising:
-
receiving the packets into the shared network interface controller; associating the packets with the plurality of upstream operating system domains by correlating destination MAC addresses within the packets with ones of the plurality of upstream operating system domains; caching descriptors for each of the plurality of upstream operating system domains which define where in their memories the packets are to be transferred; and transferring the packets, per the descriptors, to the plurality of upstream operating system domains via a load-store link which allows the packets to be tagged with information which associates the packets with their upstream operating system domain.
-
-
2. A method for transmitting packets from a plurality of operating system domains to an Ethernet network thru a shared network interface controller, comprising:
-
requesting a packet transmit from one of the plurality of operating system domains to the controller; tagging the request with an OSD header to associate the request with its operating system domain; transmitting the request to the shared network interface controller; within the shared network interface controller, correlating the request with its operating system domain; utilizing the OSD header for the request to determine associated descriptors for the request; transferring data from the operating system domain, corresponding to the request utilizing the associated descriptors; buffering the transferred data; and transmitting the buffered data to the Ethernet network.
-
Specification