The CAM Database stores the (key, mask, priority, response) entries and performs matching by processing a Lookup Request. If the masked lookup key matches the masked key of any entry, there is a matching entry. If there are multiple matches the entry with the lowest priority wins and outputs its response value. If the priority is the same, the entry is selected arbitrarily. The API software ensures that two entries using the same masked key can not be inserted.
The number of unique masks is limited to allow for efficient use of logic and memory resources. Because many entries share the same mask, the mask is stored per-memory rather than per-entry.
If the masked lookup key does not match the masked key of any entry, a no match indication is normally output. The STCAM supports an optional default response. If the default response is used, the STCAM outputs the default response instead of outputting the no match indication. The default response entry is a special entry without any mask part. This is not necessary since the entry always matches if no other entry is matched. The number of unique masks is limited to allow for efficient use of logic and memory resources. Because many entries share the same mask, the mask is stored per-memory rather than per-entry.