Forwarding Element Flow Generation via Wildcard Mask Tracing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveadaptabilityVSAvoidprocessing performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvematching precisionVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

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.

Inventive Principle:
Principle #16Partial or excessive action

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.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If wildcard masks are used to ignore certain bits in flow matching, then processing speed is improved, but matching precision deteriorates

Engineering Contradiction:
Improveprocessing speedVSAvoidmatching precision
Core Design Contradiction:
ProductivityVSMeasurement precision

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9680738B2Tracking prefixes of values associated with different rules to generate flows
Publication Date: 2017.06.13 VMWARE INC
  • US9680738B2 patent drawing
  • US9680738B2 patent drawing
  • US9680738B2 patent drawing

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.