Steering-Assisted Packet Header Parsing for Variable Protocols

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network devices struggle with the flexibility of parsing variable and custom packet headers due to hardware-based parsing methods, which lack the adaptability to handle new or custom packet formats and options, leading to incomplete packet processing and potential loss of critical network functions like security and route monitoring.

Innovation Solution

Implement a network device with a steering engine that generates parsing information for a parser engine to handle variable packet headers, using computations and lookups to determine header protocols and locations, enabling flexible hardware parsers to adapt to different packet formats and protocols.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If hardware logic is used for packet header parsing, then parsing speed is improved, but flexibility to handle new or custom packet headers deteriorates

Engineering Contradiction:
Improveparsing speedVSAvoidflexibility to handle new or custom packet headers
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic parsing system where the parser engine can be reconfigured at runtime to handle different packet header formats. The steering engine dynamically determines parsing parameters based on packet type, enabling the hardware logic to adapt to new or custom packet headers while maintaining high parsing speed. This resolves the contradiction by making the previously static hardware logic dynamic and adaptable.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If fixed structure parsing is used, then device complexity is reduced, but ability to handle variable packet options deteriorates

Engineering Contradiction:
Improveparsing structure complexityVSAvoidability to handle variable packet options
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a steering engine as an intermediary between the packet input and the parser engine. This steering engine analyzes packet characteristics and generates appropriate parsing parameters, which are then passed to the parser engine. This intermediary layer enables the system to handle variable packet options without requiring complex fixed parsing structures for every possible packet type, thus resolving the contradiction between device complexity and adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If comprehensive packet header parsing is implemented, then network function reliability is improved, but processing time increases

Engineering Contradiction:
Improvenetwork function reliabilityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a selective parsing approach where the steering engine determines which parts of the packet header need to be parsed based on the specific network function requirements. Rather than always parsing the entire header comprehensively, the system performs partial parsing only of the necessary fields, thus maintaining network function reliability while reducing processing time for packets where full parsing is not required.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20250358348A1Steering assisted parsing system
Publication Date: 2025.11.20 MELLANOX TECHNOLOGIES LTD(IL)
  • US20250358348A1 patent drawing
  • US20250358348A1 patent drawing
  • US20250358348A1 patent drawing

AI summary

In one embodiment, a network device includes an interface to receive packets over a network, a parser engine to receive data of a header section of a packet, and parse at least one first part of the header section yielding first parsed data, and a steering engine to receive the first parsed data, generate a parsing information for use in parsing at least one second part of the header section, and provide the parsing information to the parser engine, wherein: the parser engine is to parse the at least one second part of the header section based on the parsing information yielding second parsed data, and the steering engine is to perform an action based on the second parsed data.