Flow templating in logical L3 routing
First Claim
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.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
-
Citations
17 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
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. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
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. - View Dependent Claims (15, 16, 17)
-
Specification