Method and apparatus for implementing and managing distributed virtual switches in several hosts and physical forwarding elements
First Claim
1. For a network hypervisor, a method of managing a network comprising physical forwarding elements, the method comprising:
- identifying a set of virtual machines communicatively coupled to a set of physical forwarding elements, at least one of the physical forwarding elements in the set of physical forwarding elements also coupled to a virtual machine that is not in the set of virtual machines;
generating a set of flow entries for the set of physical forwarding elements to use to implement a logical forwarding element that is to handle communications between the set of virtual machines, wherein the logical forwarding element maintains isolation between the set of virtual machines and other virtual machines that are coupled to the set of physical forwarding elements but are not in the set of virtual machines; and
sending the generated set of flow entries to the set of physical forwarding elements, wherein a particular physical forwarding element in the set of forwarding elements is for using the set of flow entries to (i) make a set of logical forwarding decisions to identify a logical egress port of the logical forwarding element for a packet received from a virtual machine in the set of virtual machines and (ii) map the identified logical egress port to a physical port of the particular forwarding element through which to send the packet.
2 Assignments
0 Petitions
Accused Products
Abstract
In general, the present invention relates to a virtual platform in which one or more distributed virtual switches can be created for use in virtual networking. According to some aspects, the distributed virtual switch according to the invention provides the ability for virtual and physical machines to more readily, securely, and efficiently communicate with each other even if they are not located on the same physical host and/or in the same subnet or VLAN. According other aspects, the distributed virtual switches of the invention can support integration with traditional IP networks and support sophisticated IP technologies including NAT functionality, stateful firewalling, and notifying the IP network of workload migration. According to further aspects, the virtual platform of the invention creates one or more distributed virtual switches which may be allocated to a tenant, application, or other entity requiring isolation and/or independent configuration state. According to still further aspects, the virtual platform of the invention manages and/or uses VLAN or tunnels (e.g, GRE) to create a distributed virtual switch for a network while working with existing switches and routers in the network. The present invention finds utility in both enterprise networks, datacenters and other facilities.
-
Citations
28 Claims
-
1. For a network hypervisor, a method of managing a network comprising physical forwarding elements, the method comprising:
-
identifying a set of virtual machines communicatively coupled to a set of physical forwarding elements, at least one of the physical forwarding elements in the set of physical forwarding elements also coupled to a virtual machine that is not in the set of virtual machines; generating a set of flow entries for the set of physical forwarding elements to use to implement a logical forwarding element that is to handle communications between the set of virtual machines, wherein the logical forwarding element maintains isolation between the set of virtual machines and other virtual machines that are coupled to the set of physical forwarding elements but are not in the set of virtual machines; and sending the generated set of flow entries to the set of physical forwarding elements, wherein a particular physical forwarding element in the set of forwarding elements is for using the set of flow entries to (i) make a set of logical forwarding decisions to identify a logical egress port of the logical forwarding element for a packet received from a virtual machine in the set of virtual machines and (ii) map the identified logical egress port to a physical port of the particular forwarding element through which to send the packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A networking site comprising a plurality of physical forwarding elements, the networking site comprising:
-
a set of hosts for hosting a set of virtual machines communicatively coupled to a set of physical forwarding elements, at least one of the physical forwarding elements in the set of physical forwarding elements also coupled to a virtual machine that is not in the set of virtual machines; and a network hypervisor for generating a set of flow entries for the set of physical forwarding elements to use to implement a distributed virtual switch to handle communications between the virtual machines of the set of virtual machines and sending the generated set of flow entries to the set of physical forwarding elements, wherein the distributed virtual switch maintains isolation between the set of virtual machines and other virtual machines that are coupled to the set of physical forwarding elements but are not in the set of virtual machines, wherein a particular physical forwarding element in the set of forwarding elements is for using the set of flow entries to (i) make a set of logical forwarding decisions to identify a logical egress port of the distributed virtual switch for a packet received from a virtual machine in the set of virtual machines and (ii) map the identified logical egress port to a physical port of the particular forwarding element through which to send the packet. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. For a multi-tenant hosting system that uses a plurality of hosts and a plurality of physical forwarding elements to provide different sets of hosted virtual machines for different tenants, a method comprising:
-
defining a set flow entries for a set of physical forwarding elements to use to implement a distributed virtual switch for one particular tenant, the distributed virtual switch to handle communications between the virtual machines of the particular tenant while isolating the particular tenant'"'"'s virtual machines from the virtual machines of other tenants; and sending the set of flow entries to the set of forwarding elements, the set of flow entries for populating a set of flow tables of a particular physical forwarding element in the set of physical forwarding elements, wherein the particular physical forwarding element is for making a plurality of lookups on the set of flow tables in order to (i) identify a distributed virtual switch for a particular tenant for a packet from a first virtual machine of the particular tenant to a second virtual machine of the particular tenant, (ii) identify a logical egress port of the distributed virtual switch for the packet, and (iii) identify a physical port of the particular physical forwarding element through which to send the packet out of the particular physical forwarding element based on the identified logical egress port. - View Dependent Claims (25, 26, 27, 28)
-
Specification