Sender Side Assisted Flow Classification for SDN

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Physical Network Interface Cards (PNICs) in software-defined networking (SDN) environments cannot perform special processing on packets requiring Geneve options or customized L7 payload options due to their inability to access these fields, leading to the stripping of essential information during decapsulation.

Innovation Solution

Implementing sender-side assisted flow classification by inserting a special processing flag in the outer headers of packets, allowing PNICs to preserve Geneve options and customized options, and only decapsulating packets that do not require special processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If PNIC performs automatic flow classification and decapsulation offloading, then processing efficiency is improved, but Geneve options and customized options are lost

Engineering Contradiction:
Improvepacket processing efficiencyVSAvoidGeneve options and customized options
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The hypervisor performs preliminary action by inserting a special processing flag into the outer header of packets that require special processing, before the packet is transmitted through the PNIC. This allows the PNIC to identify such packets and preserve their options without requiring the PNIC to understand or access the Geneve options fields.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The special processing flag acts as an intermediary signal between the hypervisor and PNIC. Instead of requiring the PNIC to directly access and understand Geneve options (which it cannot do), the flag serves as a simple binary indicator that triggers the PNIC to copy the entire packet including options to the hypervisor for further processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If PNIC copies entire packet including outer headers, then special processing capability is improved, but memory usage and processing overhead increase

Engineering Contradiction:
Improvespecial processing capabilityVSAvoidpacket data volume
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

Instead of having all packets treated uniformly, the system applies different processing quality to different packets based on their content. Packets with the special processing flag set are copied entirely (including outer headers and options), while packets without the flag undergo standard decapsulation. This local differentiation ensures that only packets requiring special processing incur the overhead of copying entire packets.

Inventive Principle:
Principle #3Local quality

3Measurement precision

If PNIC uses classifier to access Geneve options, then packet identification accuracy is improved, but device complexity increases

Engineering Contradiction:
Improvepacket identification accuracyVSAvoidPNIC classifier complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system extracts the critical identification function from the complex Geneve options parsing task. Instead of requiring the PNIC classifier to access and interpret Geneve options (which would increase complexity), the hypervisor extracts this function by inserting a simple flag in the outer header that the PNIC can easily detect without understanding the underlying option structures.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10965601B2Sender side assisted flow classification
Publication Date: 2021.03.30 VMWARE INC
  • US10965601B2 patent drawing
  • US10965601B2 patent drawing
  • US10965601B2 patent drawing

AI summary

A method for a sender side assisted flow classification is disclosed. In an embodiment, a method comprises detecting a packet by a network virtualization layer engine implemented in a hypervisor on a sender side of a virtualization computer system; and determining, by the network virtualization layer engine, whether the packet requires special processing. In response to determining that the packet requires special processing, a special processing flag is inserted in a certain field of an outer header of the packet; and the packet is forwarded toward a destination of the packet for a PNIC on a receiver side to process the packet.