System and method for routing network frames between virtual machines
First Claim
1. A method of routing network frames between virtual machines on a common physical server comprising a plurality of central processing units (CPUs), the method comprising:
- associating a virtual machine-to-virtual machine (VM-to-VM) switch embedded in a network interface card (NIC) with a physical port of the NIC;
establishing two or more virtual ports of the VM-to-VM switch;
associating at least one virtual machine (VM) of a first CPU with a first one of the virtual ports of the VM-to-VM switch and associating at least one virtual machine (VM) of a second CPU with a second one of the virtual ports of the VM-to-VM switch, wherein the first CPU and the second CPU are on a common physical server;
receiving network frames from the physical port of the NIC and from the virtual ports of the VM-to-VM switch, wherein the network frames comprise a Quality of Service (QoS) written into an Internet Protocol (IP) packet header of the network frames, wherein the QoS identifies a routing path for the network frames;
reading, at the VM-to-VM switch, the QoS written in the IP packet header of the network frames to determine if the QoS of the network frames is consistent with a QoS assigned to the network frames by a user configuration module;
modifying the QoS of the network frames by rewriting the QoS in the IP packet header of the network frames, using hardware in the VM-to-VM switch, to be consistent with the QoS assigned to the network frames by the user configuration module if it is determined that the QoS of the network frames is not consistent with the QoS assigned to the network frames by the user configuration module; and
routing network frames between the VMs associated with the virtual ports through the VM-to-VM switch based upon the QoS modified by the VM-to-VM switch.
1 Assignment
0 Petitions
Accused Products
Abstract
VM-to-VM switching is an enhancement to Ethernet card technology that enables virtual machines on the same hardware server platform to switch Ethernet Frames (or IP Packets) directly without exiting the server or using a slower and bandwidth limited software process in the hypervisor. The method does not require new network switch hardware. The invention creates a unique switching ability that allows users to modify parameters applied to Ethernet Frames passing between Virtual Machines, such as quality of service or firewall rules without adding considerable latency to the switching process. The hardware switching method enriches the functionality of the Ethernet Card and permits more advanced switching architectures in servers and thus increases density of VMs and reduces complexity of planning the location of virtual machines in a virtualized infrastructure.
46 Citations
20 Claims
-
1. A method of routing network frames between virtual machines on a common physical server comprising a plurality of central processing units (CPUs), the method comprising:
-
associating a virtual machine-to-virtual machine (VM-to-VM) switch embedded in a network interface card (NIC) with a physical port of the NIC; establishing two or more virtual ports of the VM-to-VM switch; associating at least one virtual machine (VM) of a first CPU with a first one of the virtual ports of the VM-to-VM switch and associating at least one virtual machine (VM) of a second CPU with a second one of the virtual ports of the VM-to-VM switch, wherein the first CPU and the second CPU are on a common physical server; receiving network frames from the physical port of the NIC and from the virtual ports of the VM-to-VM switch, wherein the network frames comprise a Quality of Service (QoS) written into an Internet Protocol (IP) packet header of the network frames, wherein the QoS identifies a routing path for the network frames; reading, at the VM-to-VM switch, the QoS written in the IP packet header of the network frames to determine if the QoS of the network frames is consistent with a QoS assigned to the network frames by a user configuration module; modifying the QoS of the network frames by rewriting the QoS in the IP packet header of the network frames, using hardware in the VM-to-VM switch, to be consistent with the QoS assigned to the network frames by the user configuration module if it is determined that the QoS of the network frames is not consistent with the QoS assigned to the network frames by the user configuration module; and routing network frames between the VMs associated with the virtual ports through the VM-to-VM switch based upon the QoS modified by the VM-to-VM switch. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A virtual machine-to-virtual machine (VM-to-VM) switch embedded in a network interface card (NIC), the switch comprising:
-
initialization circuitry configured for associating the virtual machine-to-virtual machine (VM-to-VM) switch with a physical port of the NIC, for establishing two or more virtual ports of the VM-to-VM switch and for associating at least one virtual machine (VM) of a first CPU with a first one of the virtual ports of the VM-to-VM switch and associating at least one virtual machine (VM) of a second CPU with a second one of the virtual ports of the VM-to-VM switch, wherein the first CPU and the second CPU are on a common physical server; receiving circuitry configured for receiving network frames from the physical port of the NIC and from the virtual ports of the VM-to-VM switch, wherein the network frames comprise a Quality of Service (QoS) written into an Internet Protocol (IP) header of the network frames, wherein the QoS identifies a routing path for the network frames; circuitry configured for reading the QoS written in the IP packet header of the network frames to determine if the QoS of the network frames is consistent with a QoS assigned to the network frames by a user configuration module; circuitry configured for modifying the QoS of the network frames by rewriting the QoS in the IP packet header of the network frames, using hardware in the VM-to-VM switch, to be consistent with the QoS assigned to the network frames by the user configuration module if it is determined that the QoS of the network frames is not consistent with the QoS assigned to the network frames by the user configuration module; and routing circuitry configured for routing network frames between the VMs associated with the virtual ports through the VM-to-VM switch based upon the QoS modified by the circuitry of the VM-to-VM switch. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A method of routing network frames between virtual machines on a common physical server comprising a plurality of central processing units (CPUs), the method embodied in software embedded in a non-transitory software medium operable on a network interface card (NIC), the method comprising:
-
associating a virtual machine-to-virtual machine (VM-to-VM) switch embedded in a network interface card (NIC) with a physical port of the NIC; establishing two or more virtual ports of the VM-to-VM switch; associating at least one virtual machine (VM) of a first CPU with a first one of the virtual ports of the VM-to-VM switch and associating at least one virtual machine (VM) of a second CPU with a second one of the virtual ports of the VM-to-VM switch, wherein the first CPU and the second CPU are on a common physical server; receiving network frames from the physical port of the NIC and from the virtual ports of the VM-to-VM switch, wherein the network frames comprise a Quality of Service (QoS) written into an Internet Protocol (IP) packet header of the network frames, wherein the QoS identifies a routing path for the network frames; reading, at the VM-to-VM switch, the QoS written in the IP packet header of the network frames to determine if the QoS of the network frames is consistent with a QoS assigned to the network frames by a user configuration module; modifying the QoS of the network frames by rewriting the QoS in the IP packet header of the network frames, using hardware in the VM-to-VM switch, to be consistent with the QoS assigned to the network frames by the user configuration module if it is determined that the QoS of the network frames is not consistent with the QoS assigned to the network frames by the user configuration module; and routing network frames between the VMs associated with the virtual ports through the VM-to-VM switch based upon the QoS modified by the VM-to-VM switch.
-
Specification