Software Re-dispatching for Overlay Flow Hash Consistency
Find Innovative SolutionsGenerate 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 hardware-aware dispatching techniques are employed to ensure packets of the same flow are hashed and routed to the same core, using the same hashing algorithm or custom hardware that recognizes overlay encapsulation, thereby maintaining consistent core assignment regardless of network type.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If hardware RSS hashing is used on overlay encapsulated packets, then packet processing parallelism is improved, but packets of the same flow may be dispatched to different cores causing processing inefficiency
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, re-calculates their hash values based on inner header fields, and re-dispatches them to the correct cores, ensuring flow consistency while maintaining hardware-level parallelism for non-overlay packets.
Solution Approach 2:
The packet processing system is segmented into three distinct layers: hardware RSS hashing layer (for initial parallelism), software re-dispatching layer (for overlay packet correction), and core processing layer (for actual packet handling). This segmentation allows each layer to specialize in its function, with the software layer specifically handling overlay encapsulated packets.
2Reliability
If software re-dispatching is implemented for overlay packets, then flow consistency is improved, but additional processing overhead is introduced
Solution Approach 1:
The software re-dispatching mechanism applies partial action by only processing overlay encapsulated packets rather than all packets. Non-overlay packets bypass the software re-dispatching layer entirely and go directly to core processing, minimizing additional overhead while ensuring flow consistency for overlay packets.
Solution Approach 2:
Different processing paths are applied to different packet types: overlay encapsulated packets receive software re-dispatching with inner header-based hashing, while non-overlay packets receive direct hardware RSS hashing. This local quality approach optimizes the system by applying additional processing only where necessary.
Data Source
AI summary
A method of re-dispatching packets at a packet forwarding element that includes a hardware dispatch unit and a multi-core processor. The method, at a first core, receives a packet of a particular packet flow from the hardware dispatch unit. The packet is dispatched from the hardware dispatch unit to the first core based on a hardware implemented hashing algorithm. The first core identifies a plurality of header fields of the packet that uniquely identifies the particular packet flow when the packet includes overlay network encapsulation. The first core performs a software implemented hashing algorithm on the identified plurality of header fields of the packet to calculate a hash value. The hardware implemented hashing algorithm and the software implemented hashing algorithm generate the same hash value when performed on the same plurality of values. The first core re-dispatches the packet to a second core based on the calculated hash value.


