Parser Engine Programming Tool for Network Packet Headers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional hardware implementations for parsing network packets are inflexible and resource inefficient, failing to effectively handle various combinations of packet headers.
Innovation Solution
A parser engine programming tool that receives an XML configuration file representing a directly connected cyclical graph or tree of decision points, automatically generates all possible paths and headers, and converts them into a format suitable for programming TCAM and SRAM pairs of parser engines to parse incoming packet headers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional hardware implementations are used for parsing network packets, then the implementation is simple and reliable, but the system becomes inflexible and resource inefficient
Solution Approach 1:
A parser compiler acts as an intermediary between the high-level XML configuration and the low-level hardware programming. The compiler translates the abstract graph representation of packet headers into concrete programming values for TCAM and SRAM, eliminating the need for manual hardware configuration while maintaining flexibility.
Solution Approach 2:
The system changes the parameter representation from low-level hardware registers to high-level XML configuration files. By allowing users to configure parsers through XML graphs rather than direct hardware programming, the system achieves flexibility without increasing operational complexity.
2Productivity
If traditional hardware implementations are used for parsing network packets, then the hardware structure is fixed, but resource efficiency decreases when handling various packet header combinations
Solution Approach 1:
The parser configuration becomes dynamic through the XML graph representation, allowing the same hardware resources to be reconfigured for different packet header combinations. The graph structure enables flexible path selection and header parsing sequences without requiring dedicated hardware for each protocol scenario.
Solution Approach 2:
The parser engine achieves multi-functionality by using a single configurable hardware structure that can handle multiple packet header types. The XML configuration file enables the same parsing hardware to efficiently process different protocol combinations (IPv4, IPv6, TCP, UDP, etc.) without requiring separate dedicated hardware paths.
3Extent of automation
If manual configuration of parser engines is performed, then the programming process is transparent and controllable, but the process becomes time consuming and error prone
Solution Approach 1:
The parser compiler performs preliminary analysis of the XML graph configuration to automatically generate all necessary programming values before hardware programming occurs. This preliminary processing ensures that all possible packet header paths are correctly translated into hardware registers, eliminating manual errors while maintaining accuracy.
Solution Approach 2:
The system incorporates validation feedback mechanisms where the parser compiler verifies the XML configuration graph structure and generated programming values. This feedback loop ensures configuration accuracy by detecting errors in the graph definition or generated code before hardware programming, preventing propagation of incorrect configurations.
Data Source
AI summary
A parser engine programming tool configured to receive an input file representing a directly connected cyclical graph or tree of decision points for parsing a range of incoming packet headers, automatically generate all possible paths within the graph and thereby the associated possible headers, and convert the determined paths/headers into a proper format for programming memory of a parser engine to parse the determined headers (represented by the paths).


