Ethernet Classification Engine With Field Reduction for Smaller Rule Tables
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing Ethernet routing systems require large rule tables that consume significant resources and are inefficient in terms of power usage and software overhead, despite the need for fast packet routing.
Innovation Solution
Implementing field reduction techniques using conditional logic and combinatorial flags to reduce the size of rule tables, allowing for efficient packet classification and routing by evaluating Ethernet packet headers, and using ternary content-addressable memory (TCAM) for parallel evaluation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If large rule tables are used for Ethernet packet routing, then routing functionality and packet classification accuracy are improved, but device complexity and power consumption increase
Solution Approach 1:
The patent extracts and separates the packet classification function from the routing function. A dedicated classification engine with a smaller classification table processes packets to generate classification information, which is then used by a simplified routing engine. This extraction reduces the complexity of the routing table while maintaining complete routing functionality through the intermediate classification layer.
Solution Approach 2:
The patent introduces classification information as an intermediary between packet headers and routing decisions. The classification engine generates this intermediate representation that bridges the packet data and routing table, allowing the routing table to be reduced in size while maintaining accurate packet routing through the mediation of classification information.
2Measurement precision
If large rule tables are used for Ethernet packet routing, then packet classification accuracy is improved, but power consumption increases
Solution Approach 1:
The patent segments the packet processing function into two independent engines: a classification engine that handles packet analysis and classification, and a routing engine that handles forwarding decisions. This segmentation allows each engine to be optimized independently, with the routing engine having access to pre-computed classification information that reduces its processing burden and power consumption.
Solution Approach 2:
The classification engine performs preliminary classification of packets before routing decisions are made. By pre-processing packet classification and generating classification information in advance, the routing engine can make faster, lower-power routing decisions without needing to re-analyze the entire packet header, thus maintaining accuracy while reducing power consumption.
3Reliability
If traditional packet routing methods are used, then routing functionality is maintained, but software overhead and processing efficiency deteriorate
Solution Approach 1:
The patent replaces traditional software-based packet routing mechanisms with a hardware-accelerated classification engine that uses dedicated circuitry for packet classification. This substitution of mechanical/software processing with hardware-based parallel processing significantly improves routing processing efficiency while maintaining complete routing functionality through the hardware classification and routing engines.
Data Source
AI summary
Methods and systems are disclosed for routing packets through a network. A disclosed system for routing an Ethernet packet comprises a field reduction block with combinatorial logic implementing at least one if-else statements for at least one field of the Ethernet packet, and an output of the combinatorial logic of the field reduction block in the form of at least one flag. The combinatorial logic generates the flag for at least two values of the at least one field. The system also comprises a rule table that includes at least one rule based on the at least one flag; and routing logic with access to the rule table for routing the Ethernet packet using a rule with the flag.


