IP Library Granted Patent US 9,590,901
Granted Patent B2
US 9,590,901 · App. 14/214,561 · Granted Mar 7, 2017

Route advertisement by managed gateways

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,590,901
App. No.
14/214,561
Granted
Mar 7, 2017
Kind
B2
Abstract

Some embodiments provide a network system. The network system includes a first set of host machines for hosting virtual machines that connect to each other through a logical network. The first set of host machines includes managed forwarding elements for forwarding data between the host machines. The network system includes a second set of host machines for hosting virtualized containers that operate as gateways for forwarding data between the virtual machines and an external network. At least one of the virtualized containers peers with at least one physical router in the external network in order to advertise addresses of the virtual machines to the physical router.

Claims (28)

1. For a network controller that manages a plurality of logical networks, a method comprising:

receiving a specification of a logical network that comprises a logical forwarding element with at least two logical ports that each connect the logical network to an external network and that each peer with a physical router of the external network in order to advertise network address reachability information for at least two subnets of the logical network to the external network, wherein a first logical port peers with a first physical router on a first subnet of the external network and a second logical port peers with a second physical router on a second subnet of the external network, wherein the first and second subnets are different from each other and from the at least two subnets of the logical network;

selecting host machines from a plurality of host machines to host gateways for implementing each of the ports that connect the logical network to the external network; and

generating, for distribution to each of the gateways, data tuples defining (i) a routing table for implementing the connection between the logical network and the external network for the port implemented by the gateway and (ii) a configuration for a routing protocol application that enables the gateway to peer with the physical router of the external network with which the port implemented by the gateway peers.

2. The method of claim 1 , wherein the data tuples defining the configuration for the routing protocol application for the gateway implementing the first logical port comprise a network address, an autonomous system number, a keep-alive time, and a hold-down timer for the first physical router of the external network.

3. The method of claim 1 , wherein selecting host machines to host gateways for implementing each of the ports that connects the logical network to the external network comprises selecting a different host machine from the plurality of host machines to implement port.

4. The method of claim 1 , wherein the data tuples defining the configuration for the routing protocol application for the gateway implementing the first logical port comprise data regarding the first physical routers with which the first logical port peers.

5. The method of claim 1 , wherein the data tuples defining the configuration for the routing protocol application for a particular gateway comprise a local autonomous system number, a router identifier, and a list of network addresses to advertise as reachable through the particular gateway.

6. The method of claim 1 , wherein the logical forwarding element is a logical router, wherein each of the at least two subnets of the logical network corresponds to a different logical switch that connects to the logical router.

7. The method of claim 1 , wherein the logical network is implemented by a plurality of managed forwarding elements operating on a second plurality of host machines.

8. The method of claim 7 , wherein the second plurality of host machines hosts virtual machines that connect to the at least two subnets of the logical network.

9. The method of claim 1 , wherein each of the gateways is implemented in a virtualized container operating on its respective host machine.

10. The method of claim 1 , wherein the routing protocol application for the gateway implementing the first logical port uses Border Gateway Protocol (BGP) to establish adjacency with the first physical router.

11. The method of claim 1 , wherein a daemon operating on the host machine selected for the gateway implementing the first logical port receives the data tuples defining the configuration for the routing protocol application of the gateway and converts the data tuples into a configuration file for the routing protocol application.

12. A non-transitory machine readable medium storing a network controller program which when executed by at least one processing unit manages a plurality of logical networks, the network controller program comprising sets of instructions for:

receiving a specification of a logical network that comprises a logical forwarding element with at least two logical ports that each connect the logical network to an external network and that each peer with a physical router of the external network in order to advertise network address reachability information for at least two subnets of the logical network to the external network, wherein a first logical port peers with a first physical router on a first subnet of the external network and a second logical port peers with a second physical router on a second subnet of the external network, wherein the first and second subnets are different from each other and from the at least two subnets of the logical network;

selecting host machines from a plurality of host machines to host gateways for implementing each of the ports that connect the logical network to the external network; and

generating, for distribution to each of the gateways, data tuples defining (i) a routing table for implementing the connection between the logical network and the external network for the port implemented by the gateway and (ii) a configuration for a routing protocol application that enables the gateway to peer with the physical router of the external network with which the port implemented by the gateway peers.

13. The non-transitory machine readable medium of claim 12 , wherein the data tuples defining the configuration for the routing protocol application for the gateway implementing the first logical port comprise a network address, an autonomous system number, a keep-alive time, and a hold-down timer for the first physical router of the external network.

14. The non-transitory machine readable medium of claim 12 , wherein the set of instructions for selecting host machines to host gateways for implementing each of the ports that connects the logical network to the external network comprises a set of instructions for selecting a different host machine from the plurality of host machines to implement port.

15. The non-transitory machine readable medium of claim 12 , wherein the data tuples defining the configuration for the routing protocol application for the gateway implementing the first logical port comprise data regarding the first physical routers with which the first logical port peers.

16. The non-transitory machine readable medium of claim 12 , wherein the data tuples defining the configuration for the routing protocol application for a particular gateway comprise a local autonomous system number, a router identifier, and a list of network addresses to advertise as reachable through the particular gateway.

17. The non-transitory machine readable medium of claim 12 , wherein the logical forwarding element is a logical router, wherein each of the at least two subnets of the logical network corresponds to a different logical switch that connects to the logical router.

18. The non-transitory machine readable medium of claim 12 , wherein the logical network is implemented by a plurality of managed forwarding elements operating on a second plurality of host machines.

19. The non-transitory machine readable medium of claim 18 , wherein the second plurality of host machines hosts virtual machines that connect to the at least two subnets of the logical network.

20. The non-transitory machine readable medium of claim 12 , wherein each of the gateways is implemented in a virtualized container operating on its respective host machine.

21. The non-transitory machine readable medium of claim 12 , wherein the routing protocol application for the gateway implementing the first logical port uses Border Gateway Protocol (BGP) to establish adjacency with the first physical router.

22. The non-transitory machine readable medium of claim 12 , wherein a daemon operating on the host machine selected for the gateway implementing the first logical port receives the data tuples defining the configuration for the routing protocol application of the gateway and converts the data tuples into a configuration file for the routing protocol application.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2014
From: TUBALTSEV, ARIEL; ZHANG, RONGHUA; BASLER, BENJAMIN C.; MASKALIK, SERGE; RAMANATHAN, RAJIV; LEROY, DAVID J.; NEGINHAL, SRINIVAS; FAN, KAI-WEI; ATTEKA, ANSIS
To: NICIRA, INC.
Reel/Frame 032448/0191 →