Overlay Flow Dispatching via Software Re-hashing
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 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
Engineering 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
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.
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.
2Reliability
If software re-dispatching is implemented for overlay packets, then correct core assignment is achieved, but additional processing overhead is introduced
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.
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.
3Reliability
If hardware is modified to be overlay-aware, then consistent hashing for overlay packets is achieved, but device complexity increases
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.
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.
Data Source
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.


