Recursive Packet Header Processing for Network Routers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing packet processing architectures, particularly those based on linear pipelines, struggle to efficiently handle the variety of header configurations in data packets, leading to inflexible per-packet processing times and suboptimal performance.

Innovation Solution

A system employing recursive packet header processing, utilizing ingress and egress recursion engines, header caches, and lookup tables to process headers from outer-most to inner-most, determining adjacency values and optimizing header handling, thereby allowing for flexible and efficient packet routing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a linear pipeline architecture is used for packet processing, then multiple packets can be processed simultaneously with guaranteed line-rate performance, but the system cannot adapt to varying per-packet processing times and struggles with diverse header configurations

Engineering Contradiction:
Improveline-rate performanceVSAvoidadaptability to diverse header configurations
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the packet processing function into separate header processing and data processing stages. The header processing stage recursively processes headers of varying configurations, while the data processing stage handles the packet payload. This segmentation allows each stage to be optimized independently, enabling the system to maintain line-rate performance while adapting to diverse header structures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested processing model where recursive header processing is embedded within the broader packet processing pipeline. The header processing recursively navigates through nested header structures (outer headers to inner headers), and this nested approach is integrated into the overall pipeline architecture, allowing flexible handling of variable header configurations without compromising the structured pipeline flow.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Stability of the object's composition

If a rigid pipeline structure is adopted, then processing stages operate in lock-step fashion, but per-packet processing time cannot be varied

Engineering Contradiction:
Improvestructured processing flowVSAvoidper-packet processing time
Core Design Contradiction:
Stability of the object's compositionVSDuration of action of moving object

Solution Approach 1:

The patent introduces dynamic behavior into the pipeline by implementing recursive header processing that can vary its execution depth and duration based on the specific packet's header configuration. While the overall pipeline structure remains stable and structured, the header processing stage dynamically adjusts its processing time by recursively handling only the necessary headers for each packet, allowing per-packet processing time to vary while maintaining system stability.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If recursive header processing is implemented to handle diverse header configurations, then adaptability improves, but processing complexity increases

Engineering Contradiction:
Improvehandling of diverse header configurationsVSAvoidprocessing architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal header processing mechanism that can handle multiple types of header configurations through a single recursive processing framework. This multi-functional approach consolidates what would otherwise require multiple specialized processing paths into one unified recursive structure, reducing overall system complexity while maintaining high adaptability to diverse header formats.

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

Data Source

PatentUS8284776B2Recursive packet header processing
Publication Date: 2012.10.09 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8284776B2 patent drawing
  • US8284776B2 patent drawing
  • US8284776B2 patent drawing

AI summary

According to one general aspect, an apparatus may include an ingress port, a header cache, and a plurality of ingress recursion engines. In some embodiments, the ingress port may be configured to receive a packet that comprises a data portion and a header portion, wherein the header portion comprises at least one header. In various embodiments, the header cache may be configured to store at least a part of the header portion of the packet. In one embodiment, the plurality of ingress recursion engines may be configured to recursively process the header portion, from outer-most header to inner-most header, until an adjacency value for the packet is determined. In some embodiments, each ingress recursion engine may be configured to process a header from the header portion.