Recursive Packet Header Processing for Network Routers
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Adaptability or versatility
If recursive header processing is implemented to handle diverse header configurations, then adaptability improves, but processing complexity increases
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.
Data Source
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.


