Dynamic routing for logical routers

US9503321B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9503321-B2
Application numberUS-201414222561-A
CountryUS
Kind codeB2
Filing dateMar 21, 2014
Priority dateMar 21, 2014
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 that manages a first logical router of a logical network that is implemented across several managed network elements. The method receives input data specifying a first route for a second logical router. Based on a connection between the first logical router and a second logical router in the logical network, the method dynamically generates a second route for the first logical router based on the first route. The method distributes data to implement the first logical router, including the second route, to a set of the managed network elements.

First claim

Opening claim text (preview).

We claim: 1. For a network controller that manages a first logical router of a logical network that is implemented across a plurality of managed network elements, a method comprising: receiving input data specifying a first route for a second logical router; based on a connection between the first logical router and the second logical router in the logical network, dynamically generating a second route for the first logical router based on the first route; and distributing configuration data to implement the first logical router, including the second route, to a set of the managed network elements. 2. The method of claim 1 , wherein the logical network comprises at least one logical switch to which a plurality of virtual machines (VMs) are attached, wherein the VMs reside on a plurality of host machines. 3. The method of claim 2 , wherein the managed network elements comprise a plurality of managed forwarding elements that operate on the plurality of host machines, wherein the distributed configuration data comprises forwarding data for provisioning the managed forwarding elements. 4. The method of claim 3 , wherein the distributed forwarding data comprises flow entries for provisioning the managed forwarding elements. 5. The method of claim 3 , wherein the managed network elements further comprise at least one L3 gateway operating on a gateway host machine separate from the plurality of host machines on which the VMs reside, wherein the distributed configuration data further comprises data for configuring the L3 gateway. 6. The method of claim 5 , wherein the managed network elements further comprise an additional managed forwarding element operating on each gateway host machine with a L3 gateway. 7. The method of claim 5 , wherein the gateway host machine hosts a namespace operating as the L3 gateway. 8. The method of claim 1 , wherein receiving the input data comprises receiving a command to create a new static route for the second logical router. 9. The method of claim 1 , wherein receiving the input data comprises: receiving a command to create a new logical port for the second logical router, the new logical port associated with a particular subnet; and automatically generating a connected route for the second logical router to output packets with destination addresses in the particular subnet to the particular logical port. 10. The method of claim 9 , wherein the second route for the first logical router specifies sending packets with destination addresses in the particular subnet to a next hop address of the second logical router. 11. The method of claim 1 further comprising, prior to distributing the configuration data to implement the first logical router: performing a route processing operation to determine a set of output routes for the first logical router based on the second route and additional input routes stored for the first logical router; and generating data tuples based on the set of output routes, the data tuples for distribution to the set of managed network elements. 12. A non-transitory machine readable medium storing a network controller application which when executed by at least one processing unit manages a first logical router, the network controller application comprising: an input interface for receiving input configuration data specifying a first route for a second logical router; a table mapping engine for (i) dynamically generating configuration data for a second route for the first logical router based on the first route and (ii) generating a set of data tuples to distribute to a set of managed network elements that implement the first logical router; and a set of data structures for storing the received input configuration data, the dynamically generated configuration data, and the set of data tuples. 13. The non-transitory machine readable medium of claim 12 , wherein the input interface is an application programming interface for receiving the input configuration data as a set of commands. 14. The non-transitory machine readable medium of claim 12 , wherein the input interface is further for receiving a configuration of the first and second logical routers, wherein the configuration comprises a connection of the first logical router to the second logical router. 15. The non-transitory machine readable medium of claim 12 , wherein the first route specified by the input configuration data is a static route for the logical router that specifies a first next hop address for a particular network address prefix, wherein the second route specifies a second next hop address for the particular network address prefix. 16. The non-transitory machine readable medium of claim 15 , wherein the second next hop address comprises an address of a logical port of the second logical router. 17. The non-transitory machine readable medium of claim 12 , wherein the table mapping engine is a nLog engine for performing a plurality of database join operations in order to dynamically generate the data for the second route and generate the set of data tuples. 18. The non-transitory machine readable medium of claim 12 , wherein the network controller application is a master controller for the first logical router. 19. The non-transitory machine readable medium of claim 18 , wherein when the network controller application is also a master controller for the second logical router, the table mapping engine is further for generating a second set of data tuples to distribute to a second set of managed network elements that implement the second logical router. 20. The non-transitory machine readable medium of claim 18 , wherein the network controller application further comprises a state-sharing interface for communicating with additional network controller applications to share received input configuration data with the additional network controller applications, wherein when the network controller application is not a master controller for the second logical router, a second table mapping engine of one of the additional network controller applications generates a second set of data tuples to distribute to a second set of managed network elements that implement the second logical router. 21. The non-transitory machine readable medium of claim 12 , wherein the network controller application further comprises a route processing engine for performing a route traversal operation to generate a set of output routes for the first logical router from a set of input routes that includes the second route. 22. The non-transitory machine readable medium of claim 21 , wherein the table mapping engine is further for generating the set of data tuples based on the set of output routes. 23. The non-transitory machine readable medium of claim 12 , wherein the network controller application further comprises a state distribution interface for distributing the generated set of data tuples to the set of managed network elements.

Assignees

Inventors

Classifications

  • using an overlay routing layer · CPC title

  • of virtual routers · CPC title

  • Configuration setting · CPC title

  • for initial configuration or provisioning, e.g. plug-and-play · CPC title

  • Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements · 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 US9503321B2 cover?
Some embodiments provide a method for a network controller that manages a first logical router of a logical network that is implemented across several managed network elements. The method receives input data specifying a first route for a second logical router. Based on a connection between the first logical router and a second logical router in the logical network, the method dynamically gener…
Who is the assignee on this patent?
Nicira Inc
What technology area does this patent fall under?
Primary CPC classification H04L41/0803. 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).