Multi-Headed Packet Processing Pipeline
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current network devices with pipelined architectures face challenges in efficiently processing multi-headed packets, particularly in separating and routing packets between different network domains without relying on information from both header portions, which complicates network operations and increases costs.
Innovation Solution
A network device with a packet processing pipeline that processes packets in two passes, first making a forwarding decision based on the outer header to forward the packet within one network domain and then replicating and processing the packet to make a second decision based on the inner header for forwarding within another network domain, utilizing an internal loopback port to facilitate this process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If packets are processed in a single pass through the pipeline, then processing speed is improved, but the ability to make independent forwarding decisions for different network domains is lost
Solution Approach 1:
The packet processing operation is segmented into multiple passes through the pipeline. The first pass processes the outer header for provider network forwarding decisions, while the second pass processes the inner header for customer network forwarding decisions. This segmentation allows independent forwarding decisions for different network domains while maintaining efficient pipelined processing architecture.
2Adaptability or versatility
If multi-headed packets are processed to forward to multiple destinations, then network coverage is improved, but device complexity increases
Solution Approach 1:
The complex task of processing multi-headed packets for multiple destinations is segmented into two sequential passes. Each pass handles a specific header portion and forwarding domain independently. This segmentation reduces the complexity of any single processing stage while achieving comprehensive multi-destination forwarding capability.
Solution Approach 2:
The packet processing pipeline implements a nested structure where the inner packet processing is contained within the outer packet processing framework. The first pass handles the outer header and provider network routing, while the second pass handles the inner header and customer network routing. This nested approach allows systematic management of multiple forwarding decisions without proportionally increasing overall system complexity.
3Reliability
If packets requiring both header portions are processed together, then processing completeness is improved, but processing time increases
Solution Approach 1:
The packet processing is segmented into sequential passes where each pass focuses on a specific header portion. The first pass completes forwarding decisions for the provider network based on the outer header, and the second pass completes forwarding decisions for the customer network based on the inner header. This segmentation ensures complete and reliable forwarding decisions while minimizing processing time by avoiding simultaneous processing of both headers.
Data Source
AI summary
A packet is received at a network device, the packet having a header that includes destination information for a first network in a first header portion, and destination information for a second network in a second header portion. The packet is processed, in a first pass, to make a first forwarding decision to forward the packet to a destination in the first network based on information contained in the first header portion. The packet is replicated and the packet, or the replicated packet, is returned for processing in a second pass. The packet, or the replicated packet, is processed in the second pass to make a second forwarding decision to forward at least a portion of the packet or the replicated packet to a destination in the second network based on information contained in the second header portion without relying on information contained in the first header portion.


