Managed Forwarding Element Conjunctive Match Flow Entries
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flow-based software switches face an explosion of required flow entries due to the need for matching over multiple packet header fields, leading to inefficiencies in packet processing.
Innovation Solution
Implementing conjunctive matching behaviors by generating separate sets of flow entries for each dimension, allowing for M+N+1 flow entries instead of M*N, where M and N are the number of values in two dimensions, and using a unique identifier for conjunction actions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If flow-based software switches match over multiple packet header fields using traditional flow entries, then packet processing accuracy is maintained, but the number of flow entries explodes exponentially
Solution Approach 1:
The patent segments the conjunctive match condition into multiple independent dimensions (e.g., source IP dimension, destination IP dimension, protocol dimension). Each dimension is matched separately by dedicated flow entries rather than creating Cartesian product combinations. This segmentation reduces flow entries from M*N to M+N+1 while maintaining complete match accuracy through dimensional decomposition.
Solution Approach 2:
The patent introduces a new dimensional approach by adding a dimension identifier field to flow entries that specifies which packet header field the flow entry matches. This dimensional metadata allows the switch to understand that flow entries operating on different dimensions are independent, enabling the system to transition from traditional flat flow entry space to a multi-dimensional flow entry space where matches are composed across dimensions rather than enumerated.
2Productivity
If the number of flow entries is reduced using conjunctive matching, then processing efficiency improves, but implementation complexity increases
Solution Approach 1:
The patent performs preliminary action by pre-defining the dimensional structure of flow entries with dimension identifier fields during flow entry creation. This preliminary structuring allows the switch to efficiently organize and retrieve flow entries by dimension without complex runtime analysis. The dimension identifiers are established upfront, enabling straightforward matching logic that checks dimension compatibility before performing actual packet field comparisons.
Solution Approach 2:
The patent introduces dimension identifiers as an intermediary mechanism that mediates between the simplified conjunctive match logic and the underlying packet header fields. These identifiers act as intermediaries that translate high-level dimensional concepts (source IP, destination IP, protocol) into concrete matching operations, simplifying the control plane logic while maintaining precise data plane matching without requiring complex flow entry structures.
Data Source
AI summary
Some embodiments provide a method for a managed forwarding element that processes packets by comparing packet header field values of the packets to flow entries arranged in several tables. The method identifies a flow entry matched by the particular packet in a first table of the plurality of tables. When the matched flow entry in the first table belongs to one of several dimensions of a conjunctive set of flow entries, the method searches at least a second additional table for a flow entry matched by the particular packet that belongs to another of the several dimensions of the conjunctive set of flow entries. When flow entries from each of the several dimensions are matched by the particular packet, the method performs an action specified by a particular additional flow entry referenced by the matched flow entries from the several dimensions of the conjunctive set of flow entries.


