Packet conflict resolution
US-9203703-B2 · Dec 1, 2015 · US
US9503371B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9503371-B2 |
| Application number | US-201414166446-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 28, 2014 |
| Priority date | Sep 4, 2013 |
| Publication date | Nov 22, 2016 |
| Grant date | Nov 22, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
We 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. 2. The method of claim 1 further comprising generating data tuples for the routing table. 3. The method of claim 2 further comprising: distributing the generated data tuples for the routing table to the selected host machines; and distributing the generated data tuples for provisioning the set of managed forwarding elements to the set of managed forwarding elements. 4. The method of claim 3 , wherein distributing the generated data tuples for the routing table to the selected host machines comprises: identifying, for each of the selected host machines, a network controller that manages the selected host machine; and distributing the generated data tuples for the routing table to the identified network controllers for subsequent distribution to the selected host machines. 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. 6. The method of claim 5 further comprising: distributing the generated data tuples for the routing table to the selected host machines using a first protocol; and distributing the generated data tuples for provisioning the managed forwarding elements at the selected host machines to the selected host machines using a second protocol different than the first protocol. 7. The method of claim 1 further comprising: receiving a message that the designated master host machine has become inactive; designating one of the previously-selected host machines as a new master host machine; selecting a new host machine to implement the routing table; and generating new data tuples for provisioning the 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 new 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 new designated master host machine as the first host machine in the specified ordered list. 8. The method of claim 7 , wherein the ordered list specifies to use the tunnel encapsulation for the tunnel to the designated master host machine unless the managed forwarding element detects that the designated master host machine is inactive. 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. 10. The method of claim 9 , wherein the data tuples comprise flow entries that specify tunnel encapsulations for tunneling the data packets to the selected host machines. 11. The method of claim 9 , wherein the logical router comprises a plurality of uplink ports for connecting to external networks. 12. The method of claim 9 , wherein the routing table is a full routing table for the logical router, wherein the set of managed forwarding elements performs layer 2 (2) switching and does not perform layer 3 (3 routing). 13. The method of claim 9 , wherein the routing table is an abbreviated routing table for the logical router that only implements a connection between the logical network and external networks, wherein the set of managed forwarding elements performs layer 2 (2) switching and layer 3 (3 routing). 14. The method of claim 13 , wherein packets received at one of the selected host machines have previously been routed by one of the managed forwarding elements. 15. The method of claim 9 further comprising: receiving a message that the designated master host machine has become inactive; designating one of the previously-selected host machines as a new master host machine; selecting a new host machine to implement the routing table; and generating new data tuples for provisioning the 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 new designated master host machine as the first host machine in the specified order. 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. 17. The method of claim 16 , wherein determining that the packet requires processing by the routing table comprises performing a logical switching operation to forward the packet to a logical egress port of a logical switch that interfaces with the logical router. 18. The method of claim 17 , wherein sending the packet to the first gateway host comprises encapsulating the packet in a tunnel to the first gateway host, wherein the enc
Address table lookup; Address filtering · CPC title
Virtual switches · CPC title
using an overlay routing layer · CPC title
using route fault recovery · CPC title
Header conversion, routing tables or routing tags · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.