Multiple levels of logical routers
First Claim
1. For a network controller that manages a plurality of managed forwarding elements in a multi-tenant datacenter in which a first logical router for a logical network of a tenant is implemented across a set of the managed forwarding elements, a method comprising:
- receiving configuration data from the tenant for the first logical router that specifies (i) a plurality of logical ports of the first logical router, each of the logical ports associated with a particular subnet, and (ii) a connection of the first logical router to a second logical router that is configured by an operator of the multi-tenant datacenter, separately from the first logical router being configured by the tenant;
for the first logical router, automatically generating a connected route for each of the logical ports, wherein a particular connected route for a particular logical port specifies to logically route packets with destination addresses in the particular subnet associated with the particular logical port to the particular logical port;
converting a set of input routes that comprises (i) the automatically generated connected routes and (ii) additional routes for the first logical router to a set of output routes for distribution to the set of managed forwarding elements that implement the logical network of the tenant, wherein the additional routes comprise a default route for the first logical router and at least one dynamic route from the second logical router; and
when the network controller is a master controller of the second logical router, dynamically propagating the connected routes to the second logical router as dynamic routes that specify to logically route packets with destination addresses in any of the particular subnets to the logical port of the first logical router that connects to the second logical router,wherein the receiving, the generating, the converting, and the dynamically propagating are performed by the network controller.
1 Assignment
0 Petitions
Accused Products
Abstract
Some embodiments provide a managed network for implementing a logical network for a tenant. The managed network includes a first set of host machines and a second set of host machines. The first set of host machines is for hosting virtual machines (VMs) for the logical network. Each of the first set of host machines operates a managed forwarding element that implements a first logical router for the tenant logical network and a second logical router to which the first logical router connects. The implementation of the second logical router is for processing packets entering and exiting the tenant logical network. The second set of host machines is for hosting L3 gateways for the second logical router. The L3 gateways connect the tenant logical network to at least one external network.
262 Citations
22 Claims
-
1. For a network controller that manages a plurality of managed forwarding elements in a multi-tenant datacenter in which a first logical router for a logical network of a tenant is implemented across a set of the managed forwarding elements, a method comprising:
-
receiving configuration data from the tenant for the first logical router that specifies (i) a plurality of logical ports of the first logical router, each of the logical ports associated with a particular subnet, and (ii) a connection of the first logical router to a second logical router that is configured by an operator of the multi-tenant datacenter, separately from the first logical router being configured by the tenant; for the first logical router, automatically generating a connected route for each of the logical ports, wherein a particular connected route for a particular logical port specifies to logically route packets with destination addresses in the particular subnet associated with the particular logical port to the particular logical port; converting a set of input routes that comprises (i) the automatically generated connected routes and (ii) additional routes for the first logical router to a set of output routes for distribution to the set of managed forwarding elements that implement the logical network of the tenant, wherein the additional routes comprise a default route for the first logical router and at least one dynamic route from the second logical router; and when the network controller is a master controller of the second logical router, dynamically propagating the connected routes to the second logical router as dynamic routes that specify to logically route packets with destination addresses in any of the particular subnets to the logical port of the first logical router that connects to the second logical router, wherein the receiving, the generating, the converting, and the dynamically propagating are performed by the network controller. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory machine readable medium storing a network controller program for execution by at least one processing unit of a network controller computer that manages a plurality of managed forwarding elements in a multi-tenant datacenter in which a first logical router for a logical network of a tenant is implemented across a set of the managed forwarding elements, the program comprising sets of instructions for:
-
receiving configuration data for the first logical router that defines (i) a plurality of connected routes for a plurality of logical ports of the first logical router, each connected route for a particular logical port specifying to output packets with destination addresses in a particular subnet to the particular logical port, and (ii) a connection of the first logical router to a second logical router that is configured by an operator of the multi-tenant datacenter; when the network controller program is a master controller of the second logical router, dynamically propagating the connected routes to the second logical router as dynamic routes that specify to logically route packets with destination addresses in any of the particular subnets to the first logical router; and when the network controller program is a master controller of the first logical router; dynamically generating a dynamic default route for the first logical router to logically route all packets that do not match any other routes to the second logical router; and using a route processing engine executing at the network controller computer to convert a set of input routes that comprises (i) the automatically generated connected routes, (ii) the default route for the first logical router, and (iii) at least one dynamic route propagated from the second logical router to a set of output routes for distribution to the set of managed forwarding elements that implement the logical network of the tenant, wherein the receiving, the dynamically propagating, and the dynamically generating are performed by the network controller computer. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A non-transitory machine readable medium storing a network controller program which when executed by at least one processing unit of a network controller computer manages a plurality of managed forwarding elements in a multi-tenant datacenter in which a first logical router for a logical network of a tenant is implemented across a set of the managed forwarding elements, the program comprising sets of instructions for:
-
receiving configuration data from the tenant for the first logical router that specifies (i) a plurality of logical ports of the first logical router, each of the logical ports associated with a particular subnet, and (ii) a connection of the first logical router to a second logical router that is configured by an operator of the multi-tenant datacenter, separately from the first logical router being configured by the tenant; for the first logical router, automatically generating a connected route for each of the logical ports, wherein a particular connected route for a particular logical port specifies to logically route packets with destination addresses in the particular subnet associated with the particular logical port to the particular logical port; using a route processing engine executing at the network controller computer to convert a set of input routes that comprises (i) the automatically generated connected routes and (ii) additional routes for the first logical router to a set of output routes for distribution to the set of managed forwarding elements that implement the logical network of the tenant, wherein the additional routes comprise a default route for the first logical router and at least one dynamic route from the second logical router; and when the network controller program is a master controller of the second logical router, dynamically propagating the connected routes to the second logical router as dynamic routes that specify to logically route packets with destination addresses in any of the particular subnets to the first logical router, wherein the receiving, the generating, and the dynamically propagating are performed by the network controller computer. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
Specification