Forwarding Element Flow Generation via Wildcard Mask Tracing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Software-Defined Networking (SDN) paradigms face performance challenges due to the lack of application-specific integrated circuits (ASICs) in software switches, which are not optimized for in-hardware forwarding, leading to inefficiencies in processing packets.
Innovation Solution
The implementation of a forwarding element that uses algorithms such as tuple space search, staged lookup, prefix tracking, and common match algorithms to generate flows with wildcard masks, optimizing packet processing by ignoring irrelevant bits and reducing unnecessary lookups in hash tables.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If software switching elements are used to provide flexibility and virtualized environment support, then adaptability is improved, but processing performance deteriorates due to lack of ASIC optimization
Solution Approach 1:
The patent segments the packet processing function into two parts: flow table lookup performed by the software switching element, and actual packet forwarding performed by the NIC's hardware flow table. This segmentation allows the software switch to maintain flexibility while offloading performance-critical forwarding operations to hardware, resolving the contradiction between adaptability and processing performance.
Solution Approach 2:
The patent introduces an intermediary mechanism (flow table with wildcard masks) that bridges the software switching element and the NIC hardware. The flow table acts as a mediator that translates software-defined forwarding rules into hardware-executable formats, enabling the software switch to control hardware forwarding behavior without sacrificing either flexibility or performance.
2Measurement precision
If full packet header matching is performed for every packet, then matching precision is improved, but processing time increases due to unnecessary lookups
Solution Approach 1:
The patent applies partial matching by using wildcard masks that specify which packet header fields require exact matching and which fields can be ignored. Instead of performing full packet header matching for every packet, the system performs matching only on the relevant fields specified by the wildcard mask, thereby reducing processing time while maintaining matching precision for the critical fields.
Solution Approach 2:
The patent extracts and isolates the significant matching fields from the complete packet header using wildcard masks. By identifying and extracting only the necessary fields for matching (and ignoring the rest through wildcarding), the system reduces the lookup workload while preserving matching accuracy for the essential fields.
3Productivity
If wildcard masks are used to ignore certain bits in flow matching, then processing speed is improved, but matching precision deteriorates
Solution Approach 1:
The patent applies local quality by using wildcard masks that selectively apply different matching strictness to different fields of the packet header. Some fields are matched with high precision (no wildcarding) while other fields are wildcarded to allow broader matching. This local differentiation of matching quality allows the system to optimize processing speed for less critical fields while maintaining high precision for critical fields.
Data Source
AI summary
Some embodiments provide a method for a forwarding element that forwards packets. The method receives a packet. The method consults a tree structure to generate a wildcard mask. The consulting includes traversing the tree structure by tracing a set of bits from the packet header and un-wildcarding the corresponding set of bits from the wildcard mask. The method identifies a matching rule for the packet. The method generates a flow based on the matching rule and the wildcard mask. The flow is used to process each other packet that matches each un-wildcarded bit of the flow.


