Methods and systems for providing multi-tenancy support for single root i/o virtualization
US-2015381495-A1 · Dec 31, 2015 · US
US9692698B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9692698-B2 |
| Application number | US-201414320386-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 30, 2014 |
| Priority date | Jun 30, 2014 |
| Publication date | Jun 27, 2017 |
| Grant date | Jun 27, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method for offloading packet encapsulation for an overlay network is provided. The method, at a virtualization software of a host, sends a mapping table of the overlay network to a physical network interface controller (NIC) associated with the host. The mapping table maps the identification of each of a set of virtual machine (VM) of a tenant on the host to an identification of a tunnel on the overlay network. The method, at the virtualization software, receives a packet from a VM of the tenant. The method sends the packet to the physical NIC. The method, at the physical NIC, encapsulates the packet for transmission over the overlay network by using the mapping table. The method of claim also tags the packet by the virtualization software as a packet that requires encapsulation for transmission in the overlay network prior to sending the packet to the physical NIC.
Opening claim text (preview).
What is claimed is: 1. A method for offloading packet encapsulation for an overlay network, the method comprising: sending a mapping table of the overlay network from a host machine to a physical network interface controller (NIC) of the host machine, the mapping table associating each VM of a set of VMs of a tenant with an associated tunnel endpoint on the overlay network; determining whether the overlay network encapsulation of a packet received at the host from a VM of the tenant is to be offloaded to the physical NIC; when the encapsulation of the packet is to be offloaded to the physical NIC, tagging the received packet at the host for encapsulation by the physical NIC and sending the packet to the physical NIC without encapsulation, wherein when the packet is tagged, the physical NIC encapsulates the packet for the overlay network by using the mapping table to identify the tunnel endpoint based on an identifier of the VM; and when the encapsulation of the packet is not to be offloaded to the physical NIC, encapsulating the received packet at the host by using the mapping table to identify the tunnel endpoint associated with the VM based on the identifier of the VM and sending the encapsulated packet without a tag to the physical NIC. 2. The method of claim 1 , wherein the host tags the packet to indicate that the packet requires encapsulation for transmission in the overlay network prior to sending the packet to the physical NIC. 3. The method of claim 1 further comprising: updating the mapping table by the host after receiving a control event in a set of control events triggering the update of the mapping table; and sending the updated mapping table to the physical NIC. 4. The method of claim 3 , wherein the set of control events comprises a VM joining the overly network, a VM leaving the overlay network, a VM of the tenant migrating to the host machine from another host machine, a VM of the tenant migrating from the host machine to another host machine, and receiving incoming packets for the overlay network at the physical NIC from an entity outside of the host machine. 5. The method of claim 1 , wherein the identification of the tunnel endpoint comprises an identification of an end of the tunnel terminating on the host machine, wherein the mapping table further associates the identification of each VM to an identification of the overlay network. 6. The method of claim 1 further comprising: at the physical NIC, receiving a packet destined for one of the VMs of the tenant; removing an outer layer of the received packet, the outer layer comprising information corresponding to the overlay network; and sending the packet after removing the outer layer to the host. 7. The method of claim 6 , wherein the packet comprises an identification of a source VM of the tenant sending the packet, an identification of an endpoint of the tunnel corresponding to the source VM, and an identification of the overlay network. 8. The method of claim 7 further comprising: at the physical NIC, learning any changes to the mapping table based on the information received from the packet; and sending the changes to the host. 9. The method of claim 8 further comprising updating the mapping table by the host based on the learned changes. 10. The method of claim 1 , wherein the overlay network is a virtual extensible local area network (VXLAN). 11. A computing device serving as a host of virtual machines (VMs) comprising: a physical network interface controller (NIC); a set of processing units for executing instructions; and a non-transitory computer readable storage medium storing sets of instructions for execution by the set of processing units, the sets of instructions for: sending a mapping table of an overlay network to the NIC, the mapping table associating each VM of a set of VMs of a tenant on the host with an associated tunnel endpoint on the overlay network; determining whether the overlay network encapsulation of a packet received at the host from a VM of the tenant is to be offloaded to the physical NIC; when the encapsulation of the packet is to be offloaded to the physical NIC, tagging the received packet for encapsulation by the physical NIC and sending the packet to the physical NIC without encapsulation, wherein when the packet is tagged, the physical NIC encapsulates the packet for the overlay network by using the mapping table to identify the tunnel endpoint based on an identifier of the VM; when the encapsulation of the packet is not to be offloaded to the physical NIC, encapsulating the received packet for the overlay network by using the mapping table to identify the tunnel endpoint associated with the VM based on the identifier of the VM and sending the encapsulated packet without a tag to the physical NIC to be transmitted. 12. The computing device of claim 11 , the computer readable storage medium further storing a set of instructions for tagging the packet as a packet that requires encapsulation for transmission in the overlay network prior to sending the packet to the physical NIC. 13. The computing device of claim 11 , the computer readable storage medium further storing a set of instructions for: updating the mapping table after receiving a control event in a set of control events triggering the updating of the mapping table; and sending the updated mapping table to the physical NIC. 14. The computing device of claim 13 , wherein the set of control events comprises a VM joining the overly network, a VM leaving the overlay network, a VM of the tenant migrating to the host from another host, a VM of the tenant migrating from the host to another host, and receiving incoming packets for the overlay network at the physical NIC from an entity outside of the host. 15. The computing device of claim 11 , wherein the identification of the tunnel comprises an identification of an end of the tunnel terminating on the host, wherein the mapping table further associates the identification of each VM to an identification of the overlay network. 16. The computing device of claim 11 , the physical NIC further configured to: receive a packet destined for one of the VMs of the tenant; remove an outer layer of the received packet, the outer layer comprising information corresponding to the overlay network; and send the packet after removing the outer layer to the set of processing units. 17. The computing device of claim 16 , wherein the packet comprises an identification of a source VM of the tenant sending the packet, an identification of an end of the tunnel corresponding to the source VM, and an identification of the overlay network. 18. The computing device of claim 17 , the physical NIC further configured to: learn any changes to the mapping table based on the information received from the packet; and send the changes to the set of processing units. 19. The computing device of claim 18 , the computer readable storage medium further storing a set of instructions for updating the mapping table based on the learned changes. 20. The computing device of claim 11 further comprising a storage for storing the mapping table.
Address table lookup; Address filtering · CPC title
Electricity · mapped topic
in the network interface card · CPC title
across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP] · CPC title
Network integration; Enabling network access in virtual machine instances · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.