Centralized logical L3 routing
US-8958298-B2 · Feb 17, 2015 · US
US9319375B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9319375-B2 |
| Application number | US-201313757619-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 1, 2013 |
| Priority date | Aug 17, 2011 |
| Publication date | Apr 19, 2016 |
| Grant date | Apr 19, 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.
For a network controller for managing hosts in a network, a method for configuring a host to handle flow entries and template flow entries is described. The method generates a template flow entry to be populated in order to create a flow entry for a particular managed forwarding element. The method sends the template flow entry to the particular forwarding element in a host. The method configures a flow entry generating flow entry generating module in a host to create the flow entry by populating the template flow entry. The method configures the particular managed forwarding element to (1) send the template flow entry to the flow entry generating flow entry generating module (2) forward packets using the flow entry created by the flow entry generating flow entry generating module.
Opening claim text (preview).
What is claimed is: 1. For a managed forwarding element that processes packets in a host machine according to a set of flow entries stored in a set of forwarding tables, a method comprising: receiving a packet from an end machine that operates on the host machine; when the packet matches a template flow entry with a set of data fields unpopulated, sending the template flow entry to a flow entry generating module that operates on the host machine; receiving a new flow entry with the set of data fields populated from the flow entry generating module; and storing the new flow entry received from the flow entry generating module in a forwarding table, wherein the new flow entry has a higher priority than the template flow entry such that subsequent packets are processed according to the new flow entry rather than the template flow entry without sending the template flow entry to the flow entry generating module. 2. The method of claim 1 , wherein the flow entry generating module and the managed forwarding element are separate software applications configured in the host. 3. The method of claim 1 , wherein the set of unpopulated data fields comprises a source network address field to use for network address translation (NAT) of the packet, wherein processing subsequent packets with the new flow entry comprises performing NAT on the subsequent packets to replace a source network address of the packets with a source network address populated in the new flow entry by the flow entry generating module. 4. The method of claim 1 , wherein the set of unpopulated data fields comprises a destination data link layer address to use for address resolution of the packet, wherein processing subsequent packets comprises performing address resolution on the subsequent packets to replace a destination data link layer address of the packets with the data link layer address populated in the new flow entry by the flow entry generating module. 5. The method of claim 1 , wherein the flow entry generating module maintains and uses a lookup list from which to populate the set of unpopulated data fields of the template flow entry. 6. The method of claim 5 , wherein (i) the host machine is a first host machine and the lookup list is a local lookup list, (ii) a second host machine maintains and uses a global lookup list of information that is collected from other host machines, and (iii) the flow entry generating module asks the second host machine for information that does not exist in the local lookup list. 7. The method of claim 1 , wherein the set of unpopulated data fields comprises a destination network address field to use for destination network address translation (DNAT) of the packet, wherein processing subsequent packets with the new flow entry comprises performing DNAT on the subsequent packets to replace a destination network address of the packets with the destination network address populated in the new flow entry by the flow entry generating module. 8. A non-transitory machine readable medium storing a program which when executed by at least one processing unit processes packets in a host machine according to a set of flow entries stored in a set of forwarding tables, the program comprising sets of instructions for: receiving a packet from an end machine that operates on the host machine; when the packet matches a template flow entry with a set of data fields unpopulated, sending the template flow entry to a flow entry generating module that operates on the host machine; receiving a new flow entry with the set of data fields populated from the flow entry generating module; and storing the new flow entry received from the flow entry generating module in a forwarding table, wherein the new flow entry has a higher priority than the template flow entry such that subsequent packets are processed according to the new flow entry rather than the template flow entry without sending the template flow entry to the flow entry generating module. 9. The non-transitory machine readable medium of claim 8 , wherein the set of unpopulated data fields comprises a source network address field to use for network address translation (NAT) of the packet, wherein the set of instructions for processing subsequent packets with the new flow entry comprises a set of instructions for performing NAT on the subsequent packets to replace a source network address of the packets with a source network address populated in the new flow entry by the flow entry generating module. 10. The non-transitory machine readable medium of claim 8 , wherein the set of unpopulated data fields comprises a destination data link layer address to use for address resolution of the packet, wherein the set of instructions for processing subsequent packets comprises a set of instructions for performing address resolution on the subsequent packets to replace a destination data link layer address of the packets with the data link layer address populated in the new flow entry by the flow entry generating module. 11. The non-transitory machine readable medium of claim 8 , wherein the flow entry generating module maintains and uses a lookup list from which to populate the set of unpopulated data fields of the template flow entry. 12. The non-transitory machine readable medium of claim 11 , wherein (i) the host machine is a first host machine and the lookup list is a local lookup list, (ii) a second host machine maintains and uses a global lookup list of information that is collected from other host machines, and (iii) the flow entry generating module asks the second host machine for information that does not exist in the local lookup list. 13. The non-transitory machine readable medium of claim 8 , wherein the set of unpopulated data fields comprises a destination network address field to use for destination network address translation (DNAT) of the packet, wherein the set of instructions for processing subsequent packets with the new flow entry comprises a set of instructions for performing DNAT on the subsequent packets to replace a destination network address of the packets with the destination network address populated in the new flow entry by the flow entry generating module. 14. A computer configured as a host machine for hosting a set of end machines that are sources and destinations of network traffic, the computer comprising: a set of processing units; and a machine readable medium storing: a flow entry generating module for execution by at least one processing unit in the set of processing units, the flow entry generating module configured to create a new flow entry based on a template flow entry by populating a set of data fields of the template flow entry; and a software forwarding element for execution by at least one processing unit in the set of processing units, the software forwarding element configured (i) to process packets from the end machines operating on the host machine, (ii) to send the template flow entry to the flow entry generating module when packets match the template flow entry with a set of data fields unpopulated, (iii) to receive the new flow entry from the flow entry generating module with the set of data fields populated, and (iv) to store the new flow entry received from the flow entry generating module in a forwarding table, wherein the new flow entry has a higher priority than the template flow entry such that subsequent packets are processed according to the new flow entry rather than the template flow entry without sending the template flow entry to the flow entry generating module. 15. The computer of claim 14 , wherein the set of unpopulated data
Interdomain routing, e.g. hierarchical routing · CPC title
Address processing for routing · CPC title
Organization of routing tables · CPC title
NAT traversal · CPC title
by balancing the load, e.g. traffic engineering · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.