Packet Generalization Scheme for Network Switch Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network switch technologies face performance issues due to the linear processing of protocol layers in packets, leading to increased latency and resource overprovisioning, especially with evolving network protocols where field offsets are not fixed, complicating hardware design.
Innovation Solution
A packet generalization scheme that uses a protocol table with manually configured layer information for all protocol layer combinations, identified by a unique PktID, allowing the rewrite engine to access necessary information without relying on a parser engine, thereby eliminating the need for resource-intensive data parsing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If a parser engine is used to parse packet data before modification, then the rewrite engine can access packet information, but the system experiences increased latency and resource consumption
Solution Approach 1:
The invention extracts only the essential packet identification information (PktID) from the packet header, rather than fully parsing the entire packet structure. This PktID is then used to index into pre-configured protocol tables that contain the necessary layer information, thereby eliminating the need for resource-intensive full packet parsing while still providing the rewrite engine with all required packet information.
Solution Approach 2:
The protocol tables are pre-configured with all possible protocol layer combinations and their corresponding layer information before packet processing begins. This preliminary setup allows the rewrite engine to quickly retrieve necessary packet information by simply indexing with the PktID, rather than parsing packet structures in real-time during the modification process.
2Adaptability or versatility
If protocol layer fields are made optional to support evolving protocols, then protocol flexibility is improved, but hardware complexity increases due to non-fixed field offsets
Solution Approach 1:
The invention introduces protocol tables as an intermediary data structure that mediates between the variable packet formats and the fixed hardware processing requirements. These tables store the mapping between PktID values and the actual field offsets for each protocol layer, allowing the hardware to use fixed indexing operations while supporting optional and variable protocol fields.
Solution Approach 2:
The invention changes the parameter representation from fixed field offsets to variable field offsets stored in protocol tables. By storing offset information as configurable parameters in the protocol tables rather than hardcoding fixed positions, the system can adapt to evolving protocols with optional fields while maintaining efficient hardware access patterns through parameter-based indexing.
3Ease of operation
If linear processing of each protocol layer is used, then complete packet modification is achieved, but processing resources must be overprovisioned to handle latency
Solution Approach 1:
The invention extracts only the critical PktID field from each packet and uses it to retrieve pre-stored layer information from protocol tables. This extraction approach eliminates the need for the parser engine to process and pass complete parsed data to the rewrite engine, significantly reducing the amount of data that needs to be processed while still enabling complete packet modification through the indexed layer information.
Data Source
AI summary
Embodiments of the apparatus for modifying packet headers relate to a packet generalization scheme that maintains information across protocol layers of packets. The packet generalization scheme uses a protocol table that includes layer information for all possible protocol layer combinations. The protocol layer combinations in the protocol table are manually configured through software. Each protocol layer combination in the protocol table is uniquely identified by a PktID. A rewrite engine of a network device receives the PktID for a packet and uses that unique identifier as key to the protocol table to access information for each protocol layer of the packet that the rewrite engine requires during modification of the packet. The packet generalization scheme eliminates the need for a parser engine of the network device to pass parsed data to the rewrite engine, which is resource intensive.


