Overlay Flow Dispatching via Software Re-hashing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Overlay network encapsulation causes packets from physical and logical networks to be hashed differently, leading to incorrect core assignment for processing, resulting in inefficiencies and processing delays due to locking of common data structures.

Innovation Solution

Software re-dispatching or custom hardware aware of overlay encapsulation is used to ensure packets of the same flow are hashed and dispatched to the same core, either by re-hashing packets from overlay networks using the same hashing algorithm as hardware or by modifying hardware to recognize overlay encapsulation, ensuring consistent core assignment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If hardware RSS hashing is used for overlay encapsulated packets, then packet dispatching speed is improved, but packets of the same flow are assigned to different cores causing processing inefficiency

Engineering Contradiction:
Improvepacket dispatching speedVSAvoidprocessing efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

A software re-dispatching mechanism acts as an intermediary between hardware RSS hashing and core processing. The software layer detects overlay encapsulated packets and re-hashes them using the same algorithm as hardware to ensure consistent core assignment for packets of the same flow, while allowing hardware to maintain high-speed dispatching for non-overlay packets.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The packet processing system is segmented into two paths: hardware RSS hashing for non-overlay packets (maintaining high speed) and software re-dispatching for overlay encapsulated packets (ensuring correct core assignment). This segmentation allows each path to be optimized for its specific requirements.

Inventive Principle:
Principle #1Segmentation

2Reliability

If software re-dispatching is implemented for overlay packets, then correct core assignment is achieved, but additional processing overhead is introduced

Engineering Contradiction:
Improvecore assignment accuracyVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Software re-dispatching is applied selectively only to overlay encapsulated packets rather than all packets. The system identifies overlay packets through encapsulation detection and applies re-hashing only to these specific packets, leaving the majority of non-overlay packets to be processed by the faster hardware path.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The hashing algorithm parameters are adjusted in software to match hardware RSS hashing behavior specifically for overlay packets. By using the same hashing algorithm and n-tuple selection, the software re-dispatching achieves consistent core assignment without requiring complete re-architecting of the dispatching system.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If hardware is modified to be overlay-aware, then consistent hashing for overlay packets is achieved, but device complexity increases

Engineering Contradiction:
Improvehashing consistencyVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Instead of modifying hardware to be overlay-aware, a software intermediary layer is introduced that handles overlay packet detection and re-dispatching. This approach maintains hardware simplicity while achieving the desired overlay-aware functionality through the software layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the proposed hardware modification approach with a software-based solution. By substituting mechanical/hardware changes with software processing, the system achieves overlay awareness without increasing hardware complexity or requiring custom hardware dispatching units.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10057168B2Receive side scaling for overlay flow dispatching
Publication Date: 2018.08.21 VMWARE INC
  • US10057168B2 patent drawing
  • US10057168B2 patent drawing
  • US10057168B2 patent drawing

AI summary

A packet forwarding element that includes a hardware dispatch unit and a multi-core processor with a plurality of processing cores. The hardware dispatch unit receives packets from a plurality of networks including physical and logical networks. Packets received from the logical networks include overlay network encapsulation. The dispatch unit identifies, when a packet does not include overlay network encapsulation, a plurality of header fields of the packet that uniquely identify the particular packet flow. The dispatch unit identifies, when a packet includes overlay network encapsulation, the plurality of header fields of the packet that uniquely identify the packet flow in an inner set of header fields of the packet that are encapsulated in the overlay network encapsulation. The dispatch unit calculates a hash value of the identified plurality of the header fields and dispatches the packet to a core of the plurality of cores based on the calculated hash value.