Dynamically generating flows with wildcard fields
First Claim
Patent Images
1. For a managed forwarding element, a method comprising:
- receiving a packet that does not match any entry in a flow cache;
initializing a new entry, to be stored in the flow cache for processing the packet, with a plurality of wildcard fields;
modifying the new entry for the flow cache by processing the packet through a set of stages that each comprises sets of rules, by matching the packet against the sets of rules at each stage and un-wildcarding each field of the new entry that corresponds to a field of a rule of the sets of rules in one of the stages that was consulted in matching a field of the packet against the sets of rules; and
storing the new entry, with at least one wildcard field remaining, in the flow cache to use in processing subsequent packets that match fields of the new entry that are not wildcard fields.
0 Assignments
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, a method comprising:
-
receiving a packet that does not match any entry in a flow cache; initializing a new entry, to be stored in the flow cache for processing the packet, with a plurality of wildcard fields; modifying the new entry for the flow cache by processing the packet through a set of stages that each comprises sets of rules, by matching the packet against the sets of rules at each stage and un-wildcarding each field of the new entry that corresponds to a field of a rule of the sets of rules in one of the stages that was consulted in matching a field of the packet against the sets of rules; and storing the new entry, with at least one wildcard field remaining, in the flow cache to use in processing subsequent packets that match fields of the new entry that are not wildcard fields. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory machine readable medium storing a program that when executed by at least one processing unit forwards packets, the program comprising sets of instructions for:
-
receiving a packet that does not match any entry in a flow cache; initializing a new entry, to be stored in the flow cache for processing the packet, with a plurality of wildcard fields; modifying the new entry for the flow cache by processing the packet through a set of stages that each comprises sets of rules, by matching the packet against the sets of rules at each stage and un-wildcarding each field of the new entry that corresponds to a field of a rule of the sets of rules in one of the stages that was consulted in matching a field of the packet against the sets of rules; and storing the new entry, with at least one wildcard field remaining, in the flow cache to use in processing subsequent packets that match fields of the new entry that are not wildcard fields. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification