Tunnel Packet Header Hashing for Consistent Flow Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network packet distribution systems struggle to ensure that packets from the same source device are processed by the same destination, especially in scenarios where the source device's IP address changes, leading to potential processing out-of-order issues and unintended consequences.

Innovation Solution

A method and system that utilize fixed header packet values, such as the destination port value in the UDP header, to select downstream destinations for tunnel packets, ensuring consistent processing by the same destination by using hash functions to generate hashed values corresponding to specific processor cores.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If network packets are distributed over multiple potential destinations for parallel processing, then processing speed and productivity are improved, but packets from the same flow may be processed by different destinations leading to out-of-order processing and reliability issues

Engineering Contradiction:
Improveparallel processing speedVSAvoidflow consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by pre-establishing a mapping between tunnel packets and specific downstream destinations before packet distribution occurs. The network device driver consults this pre-established mapping to determine the appropriate destination for each tunnel packet, ensuring that all packets from the same flow are consistently directed to the same destination while still allowing parallel processing across multiple destinations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If tunnel packets are consistently routed to the same destination, then flow order is maintained, but load balancing across multiple destinations is reduced

Engineering Contradiction:
Improveflow orderingVSAvoidload distribution
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by implementing different routing behaviors for different types of packets. Tunnel packets receive specialized handling with consistent routing to the same destination based on flow identification, while non-tunnel packets can be distributed more freely across multiple destinations. This localized differentiation allows the system to maintain flow ordering for tunnel packets while still achieving load balancing overall.

Inventive Principle:
Principle #3Local quality

3Ease of operation

If IP address-based routing is used for tunnel packets, then initial packet routing is simple, but routing fails when the source device's IP address changes

Engineering Contradiction:
Improverouting simplicityVSAvoidIP address change tolerance
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary mechanism - a tunnel packet mapping maintained by the network device driver - that decouples the routing decision from the source device's IP address. Instead of directly routing based on IP address, the system uses this intermediary mapping that associates tunnel packets with specific downstream destinations, allowing the routing to remain effective even when IP addresses change.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4648391A1Downstream destination selection for tunnel packets based on fixed header packet values
Publication Date: 2025.11.12 RED HAT LLC
  • EP4648391A1 patent drawingFigure 1A
  • EP4648391A1 patent drawingFigure 1B
  • EP4648391A1 patent drawingFigure 2

AI summary

A network device driver (NDD) associated with a network interface device (NID) of a computing device processes a tunnel packet received by the NID and originating from a source device. The tunnel packet includes a tunnel packet header, a user datagram protocol (UDP) header, and a payload including a Transmission Control Protocol/Internet Protocol (TCP/IP) packet. The NDD accesses a data structure that corresponds to the NID. The NDD extracts a value from a field of the tunnel packet based on information in the tunnel packet and on information in the data structure. The NDD selects, based on the value, a first downstream destination from a plurality of downstream destinations operable to further process the tunnel packet, and causes the tunnel packet to be subsequently processed by the first downstream destination.