IP multicast hardware entry optimization

IP multicast (IPMC) entries are used to replicate Layer 3 multicast packets in the hardware. Each multicast route entry points to the IPMC entry to replicate this flow at the hardware level.

If multiple route entries share the same Output Interfaces (OIFs) for replication, a single IPMC entry is shared with all the route entries. IPMC entry optimization reduces the usage of IPMC entries in the hardware, which in turn helps scalability in environments with a large number of multicast traffic flows. However, in a stacking setup, replication sharing may cause a momentary traffic drop in certain scenarios. This traffic drop occurs for existing receivers of a multicast flow. Traffic drops take place because when a flow moves from a shared IPMC to a new IPMC, the new IPMC needs to be programmed on all the stack units. IPMC programming on all the stack units does not occur at the same time. IPMC information is synchronized to the stack units, and it must be programmed locally on the specific units. Because the IPMC programming must be handled locally, the programming of IPMC entries is delayed on stack units.

Layer 2 multicast packets also share the IPMC entries in the same way. Momentary traffic loss does not occur on non-SPX stack for Layer 2 multicast traffic. However, an SPX stack uses IPMC entries for Layer 2 multicast replication, hence a momentary traffic loss may occur if the flow moves to a new IPMC because of sharing.

How disabling IP multicast hardware entry optimization works

If a network environment does not have a large number of traffic flows, and is sensitive to traffic drops, IPMC optimization can be disabled globally. When you disable IPMC optimization, a separate IPMC is allocated for each multicast traffic flow, even though they have the same OIF combinations. When the OIF of a flow changes, the same IPMC is used to program the modified OIFs. Because the IPMC entries remain the same, existing receivers that have not changed on the stack units continue to receive traffic and there are no traffic drops.

IPMC optimization can be disabled for IPv4 and IPv6 multicast flows independently. When IPMC optimization is disabled through the CLI, all the multicast flows (across all VRFs) are deleted and must be re-programmed. As these flows are relearned, separate IPMC entries are allocated for each flow. This behavior continues even when IPMC optimization is re-enabled.