High availability L3 gateways for logical networks

US9503371B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9503371-B2
Application numberUS-201414166446-A
CountryUS
Kind codeB2
Filing dateJan 28, 2014
Priority dateSep 4, 2013
Publication dateNov 22, 2016
Grant dateNov 22, 2016

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 includes a logical router. The method selects at least two host machines to implement a routing table for the logical router from several host machines designated for hosting logical routers. The selected host machines include a designated master host machine for the routing table. 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 routing table to the selected host machines. The data tuples specify an order for the selected host machines with the designated master host machine as the first host machine in the specified order.

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; selecting at least two host machines to implement a routing table for the logical router from a plurality of host machines designated for hosting logical routers, the selected host machines comprising a designated master host machine for the routing table; and generating data tuples for provisioning a set of managed forwarding elements that implement the logical network to send data packets that require processing by the routing table to the selected host machines, wherein the data tuples specify an ordered list of tunnel encapsulations for use by the managed forwarding elements that implement the logical network in order for the managed forwarding elements to send packets to the routing table implemented at the selected host machines with a tunnel encapsulation for a tunnel to the designated master host machine as the first host machine in the specified ordered list. 2. The method of claim 1 further comprising generating data tuples for the routing table. 3. The method of claim 2 further comprising: distributing the generated data tuples for the routing table to the selected host machines; and distributing the generated data tuples for provisioning the set of managed forwarding elements to the set of managed forwarding elements. 4. The method of claim 3 , wherein distributing the generated data tuples for the routing table 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 the routing table to the identified network controllers for subsequent distribution to the selected host machines. 5. The method of 2 , wherein the set of managed forwarding elements implement the logical network at a set of host machines that does not include the selected host machines, the method further comprising generating data tuples for provisioning managed forwarding elements that implement the logical network at the selected host machines. 6. The method of claim 5 further comprising: distributing the generated data tuples for the routing table 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. 7. The method of claim 1 further comprising: receiving a message that the designated master host machine has become inactive; designating one of the previously-selected host machines as a new master host machine; selecting a new host machine to implement the routing table; and generating new data tuples for provisioning the set of managed forwarding elements that implement the logical network to send data packets that require processing by the routing table to the selected host machines, wherein the new data tuples specify an ordered list of tunnel encapsulations for use by the managed forwarding elements that implement the logical network in order for the managed forwarding elements to send packets to the routing table implemented at the selected host machines with a tunnel encapsulation for a tunnel to the new designated master host machine as the first host machine in the specified ordered list. 8. The method of claim 7 , wherein the ordered list specifies to use the tunnel encapsulation for the tunnel to the designated master host machine unless the managed forwarding element detects that the designated master host machine is inactive. 9. 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 and 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; selecting at least two host machines to implement a routing table for the logical router from a plurality of host machines designated for hosting logical routers, the selected host machines comprising a designated master host machine for the routing table; and generating data tuples for provisioning a set of managed forwarding elements that implement the logical network to send data packets that require processing by the routing table to the selected host machines, wherein the data tuples specify an order for the selected host machines with the designated master host machine as the first host machine in the specified order. 10. The method of claim 9 , wherein the data tuples comprise flow entries that specify tunnel encapsulations for tunneling the data packets to the selected host machines. 11. The method of claim 9 , wherein the logical router comprises a plurality of uplink ports for connecting to external networks. 12. The method of claim 9 , wherein the routing table is a full routing table for the logical router, wherein the set of managed forwarding elements performs layer 2 (2) switching and does not perform layer 3 (3 routing). 13. The method of claim 9 , wherein the routing table is an abbreviated routing table for the logical router that only implements a connection between the logical network and external networks, wherein the set of managed forwarding elements performs layer 2 (2) switching and layer 3 (3 routing). 14. The method of claim 13 , wherein packets received at one of the selected host machines have previously been routed by one of the managed forwarding elements. 15. The method of claim 9 further comprising: receiving a message that the designated master host machine has become inactive; designating one of the previously-selected host machines as a new master host machine; selecting a new host machine to implement the routing table; and generating new data tuples for provisioning the set of managed forwarding elements that implement the logical network to send data packets that require processing by the routing table to the selected host machines, wherein the data tuples specify an order for the selected host machines with the new designated master host machine as the first host machine in the specified order. 16. 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 routing table for a logical router of the logical network, the routing table implemented on at least first and second gateway host machines; when the first gateway host machine is active, sending the packet to the first gateway host machine irrespective of a status of the second gateway host machine; and only sending the packet to a second gateway host when the first gateway host machine is inactive. 17. The method of claim 16 , wherein determining that the packet requires processing by the routing table comprises performing a logical switching operation to forward the packet to a logical egress port of a logical switch that interfaces with the logical router. 18. The method of claim 17 , wherein sending the packet to the first gateway host comprises encapsulating the packet in a tunnel to the first gateway host, wherein the enc

Assignees

Inventors

Classifications

  • H04L45/745Primary

    Address table lookup; Address filtering · CPC title

  • Virtual switches · CPC title

  • using an overlay routing layer · CPC title

  • using route fault recovery · CPC title

  • Header conversion, routing tables or routing tags · 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 US9503371B2 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 includes a logical router. The method selects at least two host machines to implement a routing table for the logical router from several host machines designated for hosting logical routers. The select…
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 Nov 22 2016 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).