Reference Guide

Equal Cost Multi-Path (ECMP)
Equal cost multi-path (ECMP) supports multiple paths in next-hop packet forwarding to a destination device.
Topics:
ECMP for Flow-Based Affinity
Link Bundle Monitoring
ECMP Support in L3 Host and LPM Tables
ECMP for Flow-Based Affinity
ECMP for flow-based affinity includes link bundle monitoring.
Enabling Deterministic ECMP Next Hop
Deterministic ECMP next hop arranges all ECMPs in order before writing them into the content addressable memory (CAM).
For example, suppose the RTM learns eight ECMPs in the order that the protocols and interfaces came up. In this case, the
forwarding information base (FIB) and CAM sort them so that the ECMPs are always arranged. This implementation ensures
that every chassis having the same prefixes orders the ECMPs the same.
With eight or less ECMPs, the ordering is lexicographic and deterministic. With more than eight ECMPs, ordering is
deterministic, but it is not in lexicographic order.
To enable deterministic ECMP next hop, use the appropriate command.
NOTE: Packet loss might occur when you enable ip/ipv6 ecmp-deterministic for the first-time only.
Enable IPv4 Deterministic ECMP Next Hop.
CONFIGURATION mode.
ip ecmp-deterministic
Enable IPv6 Deterministic ECMP Next Hop.
CONFIGURATION mode.
ipv6 ecmp-deterministic
Configuring the Hash Algorithm Seed
Deterministic ECMP sorts ECMPs in order even though RTM provides them in a random order. However, the hash algorithm
uses as a seed the lower 12 bits of the chassis MAC, which yields a different hash result for every chassis.
This behavior means that for a given flow, even though the prefixes are sorted, two unrelated chassis can select different hops.
The system provides a command line interface (CLI)-based solution for modifying the hash seed to ensure that on each
configured system, the ECMP selection is same. When configured, the same seed is set for ECMP, LAG, and NH, and is used for
incoming traffic only.
NOTE: While the seed is stored separately on each port-pipe, the same seed is used across all CAMs.
NOTE: You cannot separate LAG and ECMP, but you can use different algorithms across the chassis with the same seed. If
LAG member ports span multiple port-pipes and line cards, set the seed to the same value on each port-pipe to achieve
deterministic behavior.
NOTE: If you remove the hash algorithm configuration, the hash seed does not return to the original factory default setting.
15
282 Equal Cost Multi-Path (ECMP)