High availability L3 gateways for logical networks
First 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.
1 Assignment
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 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.
-
Citations
27 Claims
-
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. - View Dependent Claims (2, 3, 4, 7, 8)
-
- 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.
-
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. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
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. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. For a network controller in a network control system that manages a plurality of logical networks, a method comprising:
-
receiving a message that a first gateway host machine, that implements a routing table for a logical router managed by the network control system, has become inactive, the gateway host machine located in a particular cluster of gateway host machines, wherein the routing table is also implemented by a second gateway host machine; selecting a third gateway host machine from the particular cluster of gateway host machines to implement the routing table; and generating new 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 second and third gateway host machines, wherein the data tuples specify the second gateway host machine as a prioritized destination for the packets. - View Dependent Claims (24, 25, 26, 27)
-
Specification