Flexible Hardware Packet Parsing With Dynamic Protocol Loading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network devices lack flexibility in parsing variable packet headers due to hardware-based processing, making it challenging to handle new or custom headers and options, which can lead to inefficient resource usage and incomplete packet processing.

Innovation Solution

A network device with flexible hardware parsers that dynamically load parser configurations based on detected protocols, allowing for on-demand parsing of header sections using parser configuration data, including a controller to manage parser configuration registers and a parse graph for optimizing parsing operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

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

Engineering Contradiction:
Improvepacket processing speedVSAvoidflexibility to handle new or custom headers
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic parser configuration where hardware parsers can be reconfigured at runtime through parser configuration registers. The controller dynamically loads parser configurations associated with different protocols based on detected packet types, allowing the hardware to adapt its parsing behavior without losing processing speed. This resolves the contradiction by making the hardware logic dynamic rather than static.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameters of the parser by loading different configuration data into parser configuration registers. The parser configuration includes protocol-specific parameters such as header lengths, field offsets, and parsing rules. By changing these parameters dynamically based on the detected protocol, the hardware parser maintains high-speed processing while gaining versatility to handle various header formats.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If fixed hardware parser configuration is used, then processing efficiency is improved, but ability to handle variable protocol options is worsened

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidability to handle variable protocol options
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal parser configuration system where a single hardware parser can be configured to handle multiple protocol types through different configuration data. The parser configuration registers store protocol-specific parameters that enable the same hardware logic to efficiently process various protocol options including TCP, UDP, IPv4, IPv6, and custom protocols, maintaining processing efficiency while achieving multi-functionality.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent performs preliminary action by pre-defining parser configurations for different protocols and storing them in memory. When a packet arrives, the controller quickly loads the appropriate pre-configured parser configuration based on the detected protocol type. This preliminary preparation allows the hardware parser to immediately process the packet with the correct configuration, maintaining high efficiency while handling variable protocol options.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If software-driven processing is used for flexible parsing, then adaptability to new headers is improved, but processing speed is worsened

Engineering Contradiction:
Improveflexibility in parsing new or custom headersVSAvoidpacket processing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent substitutes the mechanical software-driven processing system with a hardware-based parser that can be dynamically configured. Instead of using software to interpret and process packet headers (which provides flexibility but slow speed), the patent uses hardware logic that can be reconfigured through parser configuration registers. This replacement maintains the adaptability to handle new or custom headers while achieving hardware-level processing speed.

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

4Reliability

If all parser configurations are loaded into registers, then parsing completeness is improved, but resource usage is worsened

Engineering Contradiction:
Improveparsing completenessVSAvoidresource usage of parser configuration registers
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts only the necessary parser configuration data into the parser configuration registers based on the detected protocol type. Instead of loading all possible parser configurations for all protocols simultaneously (which would waste resources), the controller selectively loads only the configuration needed for the current packet's protocol. This extraction approach ensures parsing completeness for the relevant protocol while minimizing resource usage by keeping unused configurations in memory rather than in registers.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20250358347A1Efficient flexible parser in a networking device
Publication Date: 2025.11.20 MELLANOX TECHNOLOGIES LTD(IL)
  • US20250358347A1 patent drawing
  • US20250358347A1 patent drawing
  • US20250358347A1 patent drawing

AI summary

In one embodiment, a network device includes parser configuration registers, hardware parsers coupled to receive data of a header section of a packet and including flexible hardware parsers to parse the data of the header section based on parser configurations loaded into the parser configuration registers, and a controller to selectively load the parser configurations associated with different protocols into the parser configuration registers such that a next parser configuration is loaded into the parser configuration registers based on a next protocol found while parsing a previous header of the header section.