Match-Action Pipeline Key Construction for Network Packet Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current network appliances face challenges in generating specialized keys for various network applications, leading to key overload and increased processing time due to the need for longer keys that contain information for multiple applications, which limits flexibility and efficiency in packet processing.
Innovation Solution
Implementing a network appliance with a match-action pipeline that uses key specifications to construct application-specific keys, including a key specification fetch and construction circuit, and a caching mechanism to reduce delays and adapt to new applications by storing new key specifications, resulting in shorter keys and faster processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If longer keys are used to support multiple network applications, then application versatility is improved, but processing time increases
Solution Approach 1:
The patent segments the key construction process by creating separate key specifications for different network applications (e.g., TCP, UDP, SCTP). Each application has its own key specification that defines which header fields to use, allowing the system to generate application-specific keys rather than using a single long key for all applications. This segmentation enables the system to select and use only the relevant key specification for each packet, reducing processing time while maintaining support for multiple applications.
Solution Approach 2:
The patent implements dynamic key specification selection based on the application identifier extracted from each network packet. The system dynamically determines which key specification to use by matching the application identifier against stored specifications, allowing the key construction process to adapt to each packet's specific application requirements. This dynamic approach enables the system to use shorter, application-specific keys rather than always using longer universal keys.
2Adaptability or versatility
If specialized key specifications are stored for each network application, then adaptability to new applications is improved, but device complexity increases
Solution Approach 1:
The patent implements preliminary action by pre-storing key specifications for known network applications in the network appliance. These key specifications are prepared in advance and organized by application identifier, allowing the system to quickly retrieve and use the appropriate specification when processing packets. This preliminary preparation enables the system to handle new applications efficiently by having the infrastructure ready to store and retrieve specifications as needed.
Solution Approach 2:
The patent creates a universal key specification storage structure that can accommodate multiple network applications through a common framework. The key specification format is designed to be application-agnostic, using standardized field identifiers and construction rules that can be applied to any network protocol. This universal structure allows the system to support multiple applications with a single, unified storage mechanism rather than requiring separate specialized circuitry for each application.
Data Source
AI summary
A network appliance receives a network packet and determines an application identifier for the network packet. Key specification fetching circuits in the processing stages of the network appliance's match-action pipelines can use the application identifiers to read key specifications. The key specifications are stored in memory and may be cached near the processing stages. Key construction circuits in the processing stages can use the key specifications to construct keys. The processing stages can process the network based on the keys because the keys may be used to obtain action indicators from match-action tables. As such, the processing stages can construct and use keys that may be dynamically defined by storing their key specifications in memory.


