Dynamically generating flows with wildcard fields
First Claim
Patent Images
1. For a managed forwarding element that forwards packets according to flow entries, a method comprising:
- receiving a packet that does not match any flow entry in a flow cache;
for a new flow entry to be stored in the flow cache for processing the packet, initializing a plurality of match fields of the new flow entry as wildcard fields;
dynamically generating the new flow entry by un-wildcarding each match field of the new flow entry that corresponds to a match field that is consulted in matching the packet against a set of flow entries in a set of flow tables, wherein the new flow entry has at least one wildcard field remaining;
performing a set of actions on the packet according to the new flow entry; and
storing the new flow entry in the flow cache to process any subsequent packet that matches each non-wildcard field of the new flow entry.
1 Assignment
0 Petitions
Accused Products
Abstract
Some embodiments of the invention provide a switching element that receives a packet and processes the packet by dynamically generating a flow entry with a set of wildcard fields. The switching element then caches the flow entry and processes any subsequent packets that have header values that match the flow entry'"'"'s non-wildcard match fields. In generating the flow, the switching element initially wildcards some of all of match fields and generates a new flow entry by un-wildcarding each match field that was consulted or examined to generate the flow entry.
-
Citations
20 Claims
-
1. For a managed forwarding element that forwards packets according to flow entries, a method comprising:
-
receiving a packet that does not match any flow entry in a flow cache; for a new flow entry to be stored in the flow cache for processing the packet, initializing a plurality of match fields of the new flow entry as wildcard fields; dynamically generating the new flow entry by un-wildcarding each match field of the new flow entry that corresponds to a match field that is consulted in matching the packet against a set of flow entries in a set of flow tables, wherein the new flow entry has at least one wildcard field remaining; performing a set of actions on the packet according to the new flow entry; and storing the new flow entry in the flow cache to process any subsequent packet that matches each non-wildcard field of the new flow entry. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory machine readable medium storing a program that when executed by at least one processing unit forwards packets according to flow entries, the program comprising sets of instructions for:
-
receiving a packet that does not match any flow entry in a flow cache; initializing, for a new flow entry to be stored in the flow cache for processing the packet, a plurality of match fields as wildcard fields; dynamically generating the new flow entry by un-wildcarding each match field of the new flow entry that corresponds to a match field that is consulted in matching the packet against a set of flow entries in a set of flow tables, wherein the new flow entry has at least one wildcard field remaining; performing a set of actions on the packet according to new flow entry; and storing the new flow entry in the flow cache to process any subsequent packet that matches each non-wildcard field of the new flow entry. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification