Virtualizing the operation of intelligent network interface circuitry
First Claim
1. A method of operating network interface circuitry, wherein the network interface circuitry is configured to couple 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 the received data, including;
where there is a layer-2 classification rule associated with characteristics of the received data, automatically applying the classification rule to the received data to determine an indication of a control block corresponding to a guest operating system operating within a virtual environment on the host computer;
using the determined indication of the control block to determine, from information in the control block, an indication of a destination queue associated with the host computer and corresponding to the guest operating system; and
demultiplexing the received layer-2 packets according to the determined indications of the destination queues associated with the host computer.
9 Assignments
0 Petitions
Accused Products
Abstract
The present invention is in the field of virtualization of Network Interface Cards and Controllers (NIC) that connect to for example a host computer that can have multiple functions and OS'"'"'s (referred to as guest functions and guest-OS'"'"'s) running on it simultaneously and, in particular, relates to the virtualization of the operation of a single NIC such that it can be used simultaneously by multiple guests in such a manner that memory references due to the network traffic originating from and destined to a particular guest is kept separate from other network traffic, and that allows the Media Access Controller (MAC) within the NIC to operate such that it only accepts network packets that are destined to one of the guest-functions or guest-OS'"'"'s, and the MAC is not required to operate in promiscuous mode where it accept all incoming packets in order to implement the virtualization features.
163 Citations
22 Claims
-
1. A method of operating network interface circuitry, wherein the network interface circuitry is configured to couple 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 the received data, including; where there is a layer-2 classification rule associated with characteristics of the received data, automatically applying the classification rule to the received data to determine an indication of a control block corresponding to a guest operating system operating within a virtual environment on the host computer; using the determined indication of the control block to determine, from information in the control block, an indication of a destination queue associated with the host computer and corresponding to the guest operating system; and demultiplexing the received layer-2 packets according to the determined indications of the destination queues associated with the host computer. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A method of operating network interface circuitry, wherein the network interface circuitry is configured to couple a host computer, executing a plurality of guest functions, 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 packets from the peer via the network; and processing the received data packets, including; for each data packet, processing a classification rule associated with characteristics of the received data packet and automatically applying the classification rule to the received data packet to determine an indication of a control block corresponding to a guest function operating within a virtual environment on the host computer; using the determined indication of the control block to determine, from the control block, an indication of a behavior to apply to the received data packet; and applying the determined indicated behavior to the received data packet. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
19. A method of operating network interface circuitry, wherein the network interface circuitry is configured to couple a host computer, executing at least one operating system, to a network to facilitate communication over the network between the host computer and at least one peer, the method comprising:
- by the network interface circuitry, receiving data from a plurality of guest functions operating on the host in conjunction with the at least one operating system;
processing the received data and classifying the received data at least based on from which guest function a particular portion of the received data was received; and
transmitting data including the received data out to the network at a nominal rate associated with the class with which the received data has been classified, wherein controlling the nominal rate of transmitting the data out to the network is based on managing transmit modulation event tokens corresponding to the class with which the nominal rate is associated.
- by the network interface circuitry, receiving data from a plurality of guest functions operating on the host in conjunction with the at least one operating system;
-
20. A method of operating network interface circuitry, wherein the network interface circuitry is configured to couple a host computer, executing a plurality of guest operating system instances, each guest operating system instance having associated with it at least one guest function, 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 guest functions;
processing the data and classifying the data at least based on from which guest function a particular portion of the data was received;
transmitting the data out to the network at a nominal rate associated with the class with which the data has been classified, wherein controlling the nominal rate of transmitting the data out to the network is based on managing transmit modulation event tokens corresponding to the class with which the nominal rate is associated. - View Dependent Claims (21)
- by the network interface circuitry, receiving data from the guest functions;
-
22. A network interface controller configured to couple a host computer to a network to facilitate communication over the network between the host computer and a peer, the network interface controller comprising:
-
means for receiving data from the peer via the network; and means for processing the received data, including; where there is a layer-2 classification rule associated with characteristics of the received data, automatically applying the classification rule to the received data to determine an indication of a control block corresponding to a guest operating system operating within a virtual environment on the host computer; means for using the determined indication of the control block to determine, from information in the control block, an indication of a destination queue associated with the host computer and corresponding to the guest operating system; and means for demultiplexing the received layer-2 packets according to the determined indications of the destination queues associated with the host computer.
-
Specification