TCAM application-resource monitoring

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

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.

Table 1. (DNX devices) TCAM Ingress and Egress details

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

Note

For devices based on the XGS chipset family, there are 12 TCAM slices, each containing 768 entries.

TCAM library-resource monitoring

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.