Multiple active L3 gateways for logical networks
First Claim
1. A non-transitory machine readable medium for storing a network controller program that when executed by a set of processing units of a computer 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 router;
selecting a plurality of host machines to host an L3 gateway that implements a connection to an external network for the logical router, the 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 that implement the logical network to send data packets that require processing by the L3 gateway to the plurality of selected host machines, 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.
0 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
21 Claims
-
1. A non-transitory machine readable medium for storing a network controller program that when executed by a set of processing units of a computer 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 router; selecting a plurality of host machines to host an L3 gateway that implements a connection to an external network for the logical router, the 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 that implement the logical network to send data packets that require processing by the L3 gateway to the plurality of selected host machines, 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory machine readable medium for storing a managed forwarding element that when executed by a set of processing units of a host machine implements a logical router of a logical network, the set of processing units of the host machine also executing a virtual machine of the logical network, the managed forwarding element comprising sets of instructions for:
-
receiving a packet from the virtual machine; determining that the packet requires processing by a L3 gateway; 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 host machines implementing a L3 gateway that implements a connection of the logical router to an external network. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification