TCAM ACL Segmentation for Packet Processing Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network elements using TCAM for packet classification and processing face inefficiencies due to the large memory requirements and high power consumption associated with storing a single ACL for all packet types, which can be mitigated by using separate ACLs for different packet types and implementing cascading ACLs to optimize memory usage and reduce computational complexity.
Innovation Solution
The use of Content-Addressable Memory (CAM) with multiple Access Control Lists (ACLs) stored in separate regions, and a data structure to manage cascading of ACLs, allowing for flexible and user-configurable application of ACL sequences based on packet types, reduces memory requirements and enhances processing efficiency by applying ACLs selectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a single ACL is stored for all packet types in TCAM, then comprehensive packet processing coverage is achieved, but memory requirements and power consumption increase significantly
Solution Approach 1:
The patent divides the single large ACL into multiple separate ACLs, each dedicated to a specific packet type. This segmentation allows the system to store only the necessary ACL for the current packet type being processed, reducing the active memory footprint and power consumption while maintaining comprehensive coverage across all packet types through selective application.
2Adaptability or versatility
If a single large ACL is stored for all packet types, then all packet types can be processed, but the number of TCAM bits required increases
Solution Approach 1:
The patent segments the comprehensive ACL into multiple specialized ACLs organized in a tree structure, where each node represents a packet type and contains or references an ACL for that specific type. This segmentation reduces the total TCAM bits required because each ACL only contains rules relevant to its specific packet type, eliminating redundancy across different packet types.
Solution Approach 2:
The patent implements a nested tree structure where ACLs are organized hierarchically by packet type. The root node contains the overall ACL structure, and child nodes contain ACLs for specific packet types. This nesting allows the system to maintain a comprehensive processing framework while using minimal TCAM resources by only activating the specific nested ACL needed for each packet type.
3Use of energy by stationary object
If multiple separate ACLs are used for different packet types, then memory usage is optimized, but system complexity increases
Solution Approach 1:
The patent creates a universal tree-based data structure that can accommodate multiple different packet types and their respective ACLs through a single unified framework. This multi-functional structure handles routing, switching, and filtering operations across diverse packet types using consistent data organization and access mechanisms, reducing the perceived complexity despite managing multiple ACLs.
Solution Approach 2:
The patent introduces a tree data structure as an intermediary layer between the packet input and the multiple ACLs. This intermediary organizes the ACLs hierarchically and provides a systematic method for selecting and applying the appropriate ACL based on packet type classification, thereby managing the complexity of multiple ACLs through a structured intermediary rather than direct management.
4Speed
If TCAM is used for packet classification, then fast processing is achieved, but power consumption and memory requirements increase
Solution Approach 1:
The patent applies partial action by activating only the specific ACL relevant to the current packet type rather than evaluating all ACLs simultaneously. The tree structure enables the system to traverse only the necessary path to the appropriate packet type's ACL, performing partial matching operations instead of exhaustive searches, thereby reducing power consumption while maintaining fast processing through targeted TCAM queries.
Data Source
AI summary
A communication apparatus includes a Content-Addressable Memory (CAM) and packet processing circuitry. The packet processing circuitry is configured to store in respective regions of the CAM multiple Access Control Lists (ACLs) that are defined for respective packet types, to classify an input packet to a respective packet type selected from the packet types, to identify a region holding an ACL defined for the selected packet type, and to process the input packet in accordance with the ACL stored in the identified region.


