Representation of match conditions in logical pipeline data
AssigneeNicira, Inc.
InventorsBenjamin L. Pfaff, Justin Pettit
Life of this patent
Estimating the term…
Abstract
Some embodiments provide a method that receives several flow descriptions. Each flow description includes a set of match conditions and corresponding set of actions. Each set of match conditions is represented as a combination of Boolean and relational operators in a flow description language. The method generates one or more flow entries for each flow description. The flow entries are generated in a format useable by a managed forwarding element (MFE). The method distributes the generated flow entries to the MFE in order for the MFE to implement network operations described by the plurality of flow descriptions.
Claims20
A method for generating flow entries for a managed forwarding element (MFE), the method comprising:
- receiving a plurality of flow descriptions for processing packets by logical forwarding elements, each flow description comprising a set of match conditions and corresponding set of actions, wherein each set of match conditions in the flow descriptions is represented as a combination of Boolean operators and relational operators in a flow description language, wherein a particular set of match conditions in a particular flow description uses one or more relational operators, including at least one of a greater-than operator and a less-than operator, to define a range of allowable values for a particular packet field;
- generating, for each flow description, one or more flow entries in a format useable by the MFE, wherein a particular flow entry generated from the particular flow description based on the particular set of match conditions uses a bitmask of the particular packet field to match over at least a portion of the range of allowable values for the packet field defined by the at least one relational operator;
- and
- distributing the generated flow entries to the MFE to use to implement network operations described by the plurality of flow descriptions.
A non-transitory machine readable medium storing a program for execution by at least one processing unit, the program comprising sets of instructions for:
- receiving a plurality of flow descriptions, each flow description comprising a set of match conditions and corresponding set of actions, wherein each set of match conditions is represented as a combination of Boolean operators and relational operators in a flow description language, wherein a particular set of match conditions uses one or more relational operators, including at least one of a greater-than operator and a less-than operator to define a range of allowable values for a particular field;
- generating, for each flow description, one or more flow entries in a format useable by managed forwarding element (MFE), wherein a flow entry generated based on the particular set of match conditions uses a bitmask of the particular field to match over at least a portion of the range of allowable values defined by the at least one relational operator;
- and
- distributing the generated flow entries to the MFE to use to implement network operations described by the plurality of flow descriptions.
Dependencies are inferred from the claim text.