Network Forwarding IC Mirror Buffer for Packet Data Observation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Observing packet data during processing by forwarding elements in networks is challenging, requiring modifications to the forwarding element structure and configuration, and existing methods struggle to efficiently intercept and reconstruct non-consecutive packet data sections.
Innovation Solution
A network forwarding IC with a packet processing pipeline that copies packet data portions to a temporary storage, dividing large sections and generating separate headers, allowing for non-consecutive storage and reconstruction of packet data, while continuing normal packet processing and enabling external monitoring.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Difficulty of detecting and measuring
If packet data is copied to temporary storage for observation, then packet monitoring capability is improved, but device complexity increases due to structural modifications required in the forwarding element
Solution Approach 1:
The patent extracts the packet monitoring function from the main forwarding element structure by using a separate temporary storage unit (mirror buffer) that receives packet copies through a dedicated interface. This allows packet observation capabilities to be added without modifying the core forwarding element architecture, thus improving monitoring capability while avoiding increased device complexity.
Solution Approach 2:
The patent introduces an intermediary mirror buffer unit that sits between the packet processing pipeline and the external observer. This intermediary receives packet copies via a mirror interface and makes them available for observation without interfering with the normal packet forwarding path, thereby enabling monitoring while maintaining structural simplicity.
2Quantity of substance
If large packet data portions are divided into multiple sections for storage, then temporary storage efficiency is improved, but data reconstruction complexity increases
Solution Approach 1:
The patent segments large packet data portions into multiple smaller sections that can be stored in the temporary storage unit's fixed-size entries. Each section is stored separately with its own header containing metadata, allowing efficient utilization of the storage capacity while maintaining organized data structure for later reconstruction.
Solution Approach 2:
The patent performs preliminary actions by storing metadata (such as section sequence numbers, lengths, and offsets) in headers alongside each packet data section. This preliminary organization of data and metadata enables automatic reconstruction of the original packet without requiring complex reconstruction logic, as all necessary information is already prepared during the storage phase.
3Productivity
If packet processing continues while copying data to temporary storage, then processing throughput is improved, but data consistency may be compromised
Solution Approach 1:
The patent uses a copying mechanism where a duplicate copy of the packet data is created and sent to the temporary storage unit while the original packet continues through the processing pipeline. This copying approach allows both operations (monitoring copy creation and original packet processing) to proceed in parallel without interfering with each other, maintaining both throughput and data consistency.
Solution Approach 2:
The patent ensures continuity of useful action by allowing the packet processing pipeline to continue operating without interruption while simultaneously creating copies for the temporary storage unit. The mirror interface is designed to receive these copies without blocking the main data path, ensuring that packet forwarding throughput is maintained while monitoring data is captured.
Data Source
AI summary
Some embodiments provide a method for a network forwarding integrated circuit (IC). The method receives packet data with an instruction to copy a portion of the packet data to a temporary storage of the network forwarding IC. The portion is larger than a maximum entry size of the temporary storage. The method generates a header for each of multiple packet data sections for storage in entries of the temporary storage, with each packet data section including a sub-portion of the packet data portion. The method sends the packet data sections with the generated headers to the temporary storage for storage in multiple separate temporary storage entries.


