Network Packet Processing Indirect Buffer Addressing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional network processors spend a significant amount of time managing the ring buffer, which affects the overall processing efficiency of packet forwarding due to the high number of memory cycles required for read and write operations.
Innovation Solution
The proposed network packet processing apparatus uses indirect addressing in a packet descriptor to indicate a buffer address and employs a DMA controller to request available buffer addresses and write address-related information into the packet descriptor, thereby reducing the time spent on managing the ring buffer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the network processor directly reads packet descriptors from the ring buffer using static random access memory (SRAM), then the buffer address can be acquired, but it consumes 28 memory cycles for two read operations
Solution Approach 1:
The patent introduces an intermediary mechanism where the packet descriptor in the ring buffer stores an offset value rather than a direct buffer address. The network processor reads this offset (consuming fewer memory cycles) and then calculates the actual buffer address by adding the offset to a base address, thereby reducing the time consumption of memory operations while still achieving accurate buffer address acquisition.
2Ease of operation
If the conventional network processor requests available buffer addresses from the packet buffer management circuit and updates packet descriptors, then the ring buffer can be managed, but it consumes at least 34 memory cycles for read and write operations
Solution Approach 1:
The patent extracts the time-consuming ring buffer management operations from the network processor's workload. By storing only offset values in the packet descriptors and using the network processor's existing base address register to calculate actual buffer addresses, the system eliminates the need for the network processor to perform frequent read and write operations to the ring buffer, thereby reducing memory cycle consumption while maintaining ease of operation.
3Loss of information
If the network processor manages the ring buffer with direct buffer address recording, then the packet descriptor contains complete address information, but the processing efficiency of packet forwarding is significantly affected
Solution Approach 1:
The patent changes the parameter representation in the packet descriptor from storing complete direct buffer addresses to storing compact offset values. This parameter transformation reduces the memory access overhead and increases packet forwarding efficiency, while the network processor can still retrieve the complete buffer address information by combining the offset with the base address stored in its base address register, thus preserving all necessary address information.
Data Source
AI summary
A network packet processing apparatus includes a packet buffer, a ring buffer and a network processing unit (NPU). The packet buffer is used for storing a network packet. The ring buffer is used for storing a packet descriptor of the network buffer, where the packet descriptor includes a first field, and the first field is used for indirectly indicating a buffer address in the packet buffer at which the network packet is stored. The NPU is used for reading the packet descriptor from the ring buffer, and performing predetermined packet processing of the network packet according to the packet descriptor.


