If you don’t pay attention to the CAM, your network could face serious problems.
What is the CAM and Why is it important?
The CAM is short for Content-Adressable Memory and is a type of memory for high speed searching applications. Other names are associative memory or when programming; associative arrays.
The CAM makes it possible to make routing decisions in hardware instead of bothering the CPU, routes are placed in the CAM so that the linecard ASIC or FPGA hardware can look up which interface to send the packet out on somewhat directly from the memory. This decreases routing latency drastically and makes wirespeed performance possible.
Imagine how your router would perform without this now..
OK, Why is it important?
Because every router have a limited amount of physical memory, and this memory space has to contain IPv4 routes, IPv6 routes and everything you are (or want to do) in hardware.
This makes partitioning of this memory important.
You have different ways of doing this, but it mostly involves a reload of the router.
CAM Profiles
On Foundry routers it’s called CAM profiles, here are the basics:
CAM partition profiles for Release 03.1.00:
| Profile | IPv4 | IPv6 | MAC | VPLS MAC | IPv4 VPN | IPv4/L2 Inbound ACL | IPv6 Inbound ACL | IPv4/L2 Outbound ACL | IPv6 Outbound ACL |
| IPv4 | 1M | 0 | 32K | 0 | 0 | 112K | 0 | 64K | 0 |
| IPv6 | 64K | 240K | 32K | 0 | 0 | 16K | 24K | 16K | 12K |
| mpls-l3vpn | 256K | 0 | 32K | 0 | 480K | 64K | 0K | 64K | 0 |
CAM partition profiles for Release 03.2.00:
| Profile | IPv4 | IPv6 | MAC | VPLS MAC | IPv4 VPN | IPv4/L2 Inbound ACL | IPv6 Inbound ACL | IPv4/L2 Outbound ACL | IPv6 Outbound ACL |
| Default | 512K | 64K | 64K | 64K | 128K | 48K | 4K | 48K | 4K |
| IPv4 | 1M | 0 | 32K | 0 | 0 | 112K | 0 | 64K | 0 |
| IPv6 | 64K | 240K | 32K | 0 | 0 | 16K | 24K | 16K | 12K |
| mpls-l3vpn | 256K | 0 | 32K | 0 | 480K | 64K | 0K | 64K | 0 |
| ipv4-vpn | 320K | 0 | 0 | 32K | 448K | 64K | 0K | 64K | 0 |
| mpls-l3vpn-2 | 128K | 0 | 32K | 0 | 544K | 64K | 0K | 64K | 0 |
The Internet Routing table now have about 260K prefixes, so you should worry.
To check my CAM usage I use:
show cam-partition usage
On a Cisco 6500/7600 switch, you could use
show tcam details
When there are no more CAM space for a route, it will become unreachable.
So pay attention to your CAM/TCAM.
Follow me on twitter