Switching Element Dynamic Flow Entry Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software-defined networking (SDN) faces performance challenges due to the need for generating new flow entries for each packet, which is processor-intensive and inefficient, especially in virtualized environments where hardware switches with ASICs are not available.
Innovation Solution
A switching element dynamically generates flow entries with wildcard fields, caching them for subsequent packets that match non-wildcard fields, thereby reducing the need for repeated flow entry generation and improving processing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a software switching element generates a new flow entry for each packet, then packet processing accuracy is maintained, but processor-intensive operations increase and processing speed decreases
Solution Approach 1:
The patent pre-generates flow entries with wildcard fields for groups of packets that will require similar processing. Instead of creating a new flow entry for each individual packet, the system creates flow entries in advance that can match multiple packets with different header values, thereby reducing the processing overhead while maintaining accurate packet handling.
Solution Approach 2:
The patent makes flow entries universal by using wildcard fields that can match multiple different packet header values. A single flow entry with wildcards can handle multiple packets that would otherwise require separate flow entries, allowing the same flow entry to serve multiple functions and reducing the total number of flow entries needed.
2Productivity
If wildcard fields are used in flow entries, then processing efficiency improves, but flow entry complexity increases
Solution Approach 1:
The patent segments flow entries into match fields and wildcard fields, allowing the system to selectively apply wildcards only to certain fields rather than entire flow entries. This segmentation enables processing efficiency improvements while keeping the complexity manageable by only wildcarding specific non-critical fields.
Solution Approach 2:
The patent applies wildcard fields locally to specific match fields rather than uniformly across all flow entries. This allows different levels of specificity in different fields - critical fields use exact matching while non-critical fields use wildcards - thereby improving efficiency without uniformly increasing complexity throughout the entire flow entry structure.
3Productivity
If flow entries are cached, then repeated flow entry generation is reduced, but memory usage increases
Solution Approach 1:
The patent uses partial wildcards in cached flow entries rather than complete wildcards. This allows the cache to store flow entries that match a subset of packets, reducing the number of cached entries needed compared to using full wildcards, thereby lowering memory usage while still providing caching benefits for repeated packet processing.
Data Source
AI summary
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.


