Ternary Content Addressable Memory (TCAM) is specialized memory that stores complex tabular data and supports very rapid parallel lookups.
TCAM is used for storing different application filtering rules. These can be either L2, L3, or L4 control protocols. TCAM resources are used at different stages of the packet processor pipeline for providing the functionality. Some examples are:
A single lookup is performed per packet per TCAM bank.
Note
For devices based in the XGS chipset family, TCAM banks are referred to as slices. For a list of such devices, see "Supported Hardware".It is possible to hit multiple TCAM banks for a single packet and the priority among the entries is selected based on either priority mode or interleaved mode. In priority mode bank1, entry1 takes precedence over bank2, entry2. In interleaved mode, minimal line entry is selected and first if both lines are equal. Associative data is 24b/48b when a TCAM bank is configured as 4K/2Kx80b/160b. When two TCAM banks are configured as 2K/128x320b model AD is 96b.
TCAM |
12 TCAM banks and 4 Small banks. 3 key arrangement options per bank |
---|---|
TCAM (Shared by Ingress and Egress) |
256 entries per small banks |
4K entries of 80 bits |
|
2K entries of 160 bits |
|
2K entries of 320 bits |
|
Concatenate two banks for a wider Key. The result options are: |
|
24 bits |
|
48 bits |
|
96 bits |
|
Accesses: 1 per packet per bank |
Note
For devices based on the XGS chipset family, there are 12 TCAM slices, each containing 768 entries.The same TCAM hardware resources are shared by multiple applications, for example, PBR, IPv4 ACL. So, monitoring and reporting the threshold status for each of the applications at hardware is not possible. TCAM software library is created to abstract this single hardware resource shared by multiple applications.
To support this capability of TCAM, each resource has to go through the TCAM library code path of resource allocation to achieve monitoring.
Based on the allocation via TCAM library, resource usage statistics are collected and RAS logs are generated and associated with the specific TCAM application resources with flags as critical, warning and info. Shared/fixed comment is present in the logs to reflect shared/fixed TCAM hardware resource by applications.