Methods and systems to offload overlay network packet encapsulation to hardware

US9692698B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9692698-B2
Application numberUS-201414320386-A
CountryUS
Kind codeB2
Filing dateJun 30, 2014
Priority dateJun 30, 2014
Publication dateJun 27, 2017
Grant dateJun 27, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • H04L45/745Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9692698B2 cover?
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 t…
Who is the assignee on this patent?
Nicira Inc
What technology area does this patent fall under?
Primary CPC classification H04L45/745. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 27 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).