Back to results
US 8,798,056 B2Granted
Method and system for virtual port communications
AssigneeIntel Corporation
InventorIlango S Ganga
Life of this patent
Estimating the term…
Abstract
A method and system may provide virtual port communications. A data frame, containing a destination identifier in a destination field and payload, may be modified by inserting a first virtual machine tag therein. The first virtual machine tag may include a first virtual port identifier for identifying a first logical interface of a first virtual machine on a virtual machine host.
Claims22
A method comprising:
- at a network interface controller:
- modifying a data frame by inserting tag data therein;
- wherein the data frame comprises a destination identifier in a destination field and a payload, and the tag data comprises (1) an Ethertype field indicating the data frame is tagged with a virtual port identifier associated with a virtual machine and (2) a first virtual port identifier for identifying a first logical interface of a first virtual machine on a virtual machine host;
- and
- forwarding the data frame from the network interface controller via a physical port on the virtual machine host to an external Ethernet switch;
- at the external Ethernet switch:
- performing an address lookup in a forwarding database on, at least, the destination identifier of the data frame;
- determining if the destination identifier corresponds to a second virtual port internal to the virtual machine host;
- if the destination identifier corresponds to a second virtual port internal to the virtual machine host:
- modifying the data frame to store tag data comprising a second virtual port identifier for identifying a logical interface of the second virtual machine on the virtual machine host;
- and
- forwarding the data frame to the network interface controller via the physical port on the virtual machine host;
- if the destination identifier of the data frame corresponds to a location external to the virtual machine host, forwarding the data frame via the network;
- and
- at the network interface controller:
- receiving the data frame from the external Ethernet switch;
- removing the tag data from the data frame;
- and
- forwarding the data frame to the second virtual machine.
16 more elements
A system comprising:
- a network device to:
- modify a data frame received via a first virtual port by inserting tag data therein, wherein the first virtual port comprises a virtual port associated with a first virtual machine of a virtual machine host, the data frame comprising a destination identifier in a destination field and a payload, the tag data comprising (1) an Ethertype field indicating the data frame is tagged with a virtual port identifier associated with a virtual machine and (2) a first virtual port identifier to identify the first virtual port associated with the first virtual machine;
- and
- forward the data frame from the network device via a physical port on the virtual machine host to an external Ethernet switch, the external Ethernet switch to perform an address lookup in a forwarding database on, at least, the destination identifier, determine if the destination identifier corresponds to a second virtual port internal to the virtual machine host, and if the destination identifier corresponds to the second virtual port internal to the virtual machine host, modify the data frame by storing tag data in the data frame comprising a second virtual port identifier identifying a second logical interface of the second virtual machine on the virtual machine host, forward the data frame to the virtual machine host, and if the destination identifier of the data frame corresponds to a location external to the virtual machine host, forward the data frame via the network;
- and
- receive the data frame from the external Ethernet switch;
- remove the tag data from the data frame;
- and
- forward the data frame to the second virtual machine;
- and
- the physical port, connected to the network device.
8 more elements
A system comprising:
- a switch, comprising:
- a forwarding database;
- and logic to:
- receive from the a data frame from a virtual machine host, the data frame comprising a destination identifier in a destination field, a payload, and tag data, the tag data comprising:
- (1) an Ethertype field indicating the data frame is tagged with identification of a virtual port identifer associated with a virtual machine of the virtual machine host and (2) the virtual port identifier associated with the virtual machine to identify a logical interface of the virtual machine,
- perform an address lookup in the forwarding database on, at least, the destination identifier, to determine if the destination identifier corresponds to a second virtual port of a second virtual machine internal to the virtual machine host;
- and
- modify the data frame by storage of tag data therein if the destination identifier corresponds to the second virtual port of the second virtual machine internal to the virtual machine host, wherein the tag data comprises a second virtual port identifier associated with the second virtual machine to identify a logical interface of the second virtual machine;
- forward the data frame to the virtual machine host;
- and
- if the destination identifier corresponds to a destination external to the virtual machine host, forward the data frame to the destination over the network.
8 more elements
A method comprising, at a network device:
- at the network device, receiving an Ethernet data frame via a first virtual interface associated with a first virtual machine;
- at the network device, inserting into the Ethernet data frame Ethernet tag data comprising (1) an Ethertype field indicating that the frame is tagged with identification of a virtual interface associated with a virtual machine and (2) identification of the first virtual interface associated with the first virtual machine;
- at the network device, transmitting the Ethernet data frame having the Ethernet tag data to an Ethernet switch, the Ethernet switch to perform an address lookup in the forwarding database on, at least, a destination identifier of the Ethernet data frame, determine if the destination identifier corresponds to a second virtual port internal to the virtual machine host, and if the destination identifier corresponds to the second virtual port internal to the virtual machine host, modify the Ethernet data frame by storing tag data in the Ethernet data frame comprising a identification of a virtual interface of the second virtual machine on the virtual machine host, forward the Ethernet data frame to the virtual machine host, and if the destination identifier of the Ethernet data frame corresponds to a location external to the virtual machine host, forward the data frame via a network ;
- at the network device, receiving the Ethernet data frame from the Ethernet switch;
- at the network device, removing the Ethernet tag data;
- and
- at the network device, sending the Ethernet data frame to the second virtual interface associated with a second virtual machine identified by the Ethernet tag data.
4 more elements
A method comprising, at an Ethernet switch:
- at the Ethernet switch, receiving a Ethernet frame from a host via a physical port of the Ethernet switch;
- at the Ethernet switch, determining the Ethernet frame has Ethernet tag data comprising (1) an Ethertype field indicating that the frame is tagged with identification of a virtual interface associated with a virtual machine and (2) identification of a virtual interface associated with a virtual machine;
- at the Ethernet switch, performing a forwarding lookup, based at least in part, on a destination Ethernet media access control (MAC) address included in the Ethernet frame, the forwarding lookup to determine, for at least some Ethernet frames, a destination virtual interface associated with a second virtual machine of the host;
- at the Ethernet switch, if the destination identifier is associated with the second virtual machine of the host, modifying the Ethernet frame by storing tag data in the Ethernet frame comprising a second virtual port identifier for identifying a second logical interface of the second virtual machine on the host;
- at the Ethernet switch, forwarding the Ethernet frame to the host via a physical port of the Ethernet switch, the host to remove the tag data from the Ethernet frame and forward the data frame to the second virtual machine;
- at the Ethernet switch, receiving a second Ethernet frame via the physical port from the host;
- and
- at the Ethernet switch, determining the second Ethernet frame has a destination external to the host;
- and
- at the Ethernet switch, forwarding the second Ethernet frame to a different host via a different physical port.
7 more elements
Dependencies are inferred from the claim text.