Multiple active L3 gateways for logical networks

US9577845B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9577845-B2
Application numberUS-201414166447-A
CountryUS
Kind codeB2
Filing dateJan 28, 2014
Priority dateSep 4, 2013
Publication dateFeb 21, 2017
Grant dateFeb 21, 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.

Some embodiments provide a method for a network controller in a network control system that manages a plurality of logical networks. The method receives a specification of a logical network that comprises a logical router with a logical port that connects to an external network. The method selects several host machines to host a L3 gateway that implements the connection to the external network for the logical router from a set of host machines designated for hosting logical routers. The method generates data tuples for provisioning a set of managed forwarding elements that implement the logical network to send data packets that require processing by the L3 gateway to the selected host machines. The data tuples specify for the managed forwarding elements to distribute the data packets across the selected host machines.

First claim

Opening claim text (preview).

We claim: 1. For a network controller in a network control system that manages a plurality of logical networks, a method comprising: receiving a specification of a logical network that comprises a logical router, the logical network comprising a plurality of end machines that operate on a first plurality of host machines; selecting a second plurality of host machines to host a L3 gateway that implements a connection to an external network for the logical router, the second plurality of host machines selected from a set of host machines designated for hosting logical routers; and generating data tuples for provisioning a set of managed forwarding elements operating on the first plurality of host machines that implement the logical network to send data packets, originating at the end machines of the logical network and which require processing by the L3 gateway, to the second plurality of selected host machines in order for L3 gateway implemented at the selected host machines to process the packets and send the packets to the external network, wherein the data tuples specify for the managed forwarding elements to distribute the data packets across the plurality of selected host machines in a load balanced manner. 2. The method of claim 1 , wherein the data tuples specify a list of the second plurality of host machines and an algorithm for the managed forwarding elements to select one of the host machines in the second plurality of host machines as a destination for a particular data packet. 3. The method of claim 2 , wherein the algorithm comprises a hash function that calculates a hash value using characteristics of the particular data packet and a technique to map the calculated hash value to one of the host machines in the second plurality of host machines. 4. The method of claim 3 , wherein the hash function uses a source IP address and a destination IP address as inputs. 5. The method of claim 3 , wherein the technique comprises computing the hash value modulo a number of host machines in the second plurality of host machines. 6. The method of claim 3 , wherein the technique comprises using a consistent hashing algorithm to select one of the host machines in the second plurality of host machines. 7. The method of claim 3 , wherein the technique comprises using a highest random weight algorithm to select one of the host machines in the second plurality of host machines. 8. The method of claim 1 , wherein the data tuples comprise flow entries that specify tunnel encapsulations for tunneling the data packets to the selected host machines. 9. The method of claim 1 , wherein the logical network comprises at least two logical switches attached to first and second ports of the logical router, wherein the logical router comprises a third port for connecting to external networks. 10. The method of claim 1 further comprising generating data tuples for provisioning the L3 gateway on the host machines. 11. The method of claim 10 further comprising: distributing the generated data tuples for provisioning the L3 gateway to the selected host machines; and distributing the generated data tuples for provisioning the set of managed forwarding elements to the first plurality of host machines. 12. The method of claim 11 , wherein distributing the generated data tuples for provisioning the L3 gateway to the selected host machines comprises: identifying, for each of the selected host machines, a network controller that manages the selected host machine; and distributing the generated data tuples for provisioning the L3 gateway to the identified network controllers for subsequent distribution to the selected host machines. 13. The method of 10 further comprising generating data tuples for provisioning managed forwarding elements that implement the logical network at the selected host machines. 14. The method of claim 13 further comprising: distributing the generated data tuples for provisioning the L3 gateway to the selected host machines using a first protocol; and distributing the generated data tuples for provisioning the managed forwarding elements at the selected host machines to the selected host machines using a second protocol different than the first protocol. 15. For a managed forwarding element that operates in a host machine to implement a logical network that includes a logical router, wherein the host machine hosts a virtual machine in the logical network, a method comprising: receiving a packet from the virtual machine; determining that the packet requires processing by a L3 gateway in order for the L3 gateway to forward the packet to an external network; calculating a value based on a specified set of packet characteristics of the received packet; and selecting one of a plurality of gateway host machines as a destination for the packet based on the calculated value, the plurality of gateway machines implementing the L3 gateway that implements a connection of the logical router to the external network. 16. The method of claim 15 , wherein determining that the packet requires processing by the L3 gateway comprises: performing a logical switching operation to logically forward the packet to a logical egress port of a logical switch that interfaces with the logical router; and performing a logical routing operation to logically forward the packet to a logical egress port of the logical router that interfaces with the external network. 17. The method of claim 15 further comprising encapsulating the packet in a tunnel between the managed forwarding element and a second managed forwarding element that operates on the selected gateway host machine. 18. The method of claim 17 further comprising sending the encapsulated packet to the selected gateway host machine. 19. The method of claim 15 , wherein calculating the value comprises calculating a hash function that takes a source IP address, destination IP address, source transport port number, destination transport port number, and transport protocol of the packet as inputs. 20. The method of claim 15 , wherein a technique used to calculate the value and select one of the plurality of gateway host machines based on the calculated value selects the same gateway host machine for all packets for a same transport connection. 21. The method of claim 20 , wherein the technique matches connections to each of the plurality of gateway host machines with an equal frequency.

Assignees

Inventors

Classifications

  • Interconnection of networks using encapsulation techniques, e.g. tunneling · CPC title

  • H04L12/66Primary

    Arrangements for connecting between networks having differing types of switching systems, e.g. gateways · CPC title

  • of virtual routers · CPC title

  • using hashing · CPC title

  • Distributed routing · 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 US9577845B2 cover?
Some embodiments provide a method for a network controller in a network control system that manages a plurality of logical networks. The method receives a specification of a logical network that comprises a logical router with a logical port that connects to an external network. The method selects several host machines to host a L3 gateway that implements the connection to the external network …
Who is the assignee on this patent?
Nicira Inc
What technology area does this patent fall under?
Primary CPC classification H04L12/66. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 21 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).