ECMP Path Capacity Calculator
Calculate online ECMP path capacity from healthy paths, per-path rate, demand, hash efficiency, and headroom to plan failure runway and maintenance drains.{{ result.summaryTitle }}
| Metric | Value | Detail | Copy |
|---|---|---|---|
| {{ row.metric }} | {{ row.value }} | {{ row.detail }} |
| Check | Signal | Recommendation | Copy |
|---|---|---|---|
| {{ row.check }} | {{ row.signal }} | {{ row.recommendation }} |
| Additional failures | Healthy paths | Effective capacity | Spare after demand | Status | Copy |
|---|---|---|---|---|---|
| {{ row.failures }} | {{ row.healthyPaths }} | {{ row.effectiveCapacity }} | {{ row.spareAfterDemand }} | {{ row.status }} |
Introduction
Equal-cost multipath, usually shortened to ECMP, lets a router or switch use several equal-cost next hops for the same destination. The extra paths can raise usable bandwidth and provide resilience, but the useful capacity is not just the number of links multiplied by the interface speed. It depends on which paths are actually healthy, how evenly flows hash across them, and whether one large flow is bigger than a single member path can carry.
ECMP capacity planning matters during fabric growth, WAN edge design, route maintenance, and incident review. A group can look large on paper while one missing next hop, a weak hash spread, or a single elephant flow creates congestion on one member. The planning question is therefore practical: how much traffic can the active set carry after hash spread and reserve are considered, and how many more path failures can happen before demand is no longer covered?
Most ECMP forwarding is flow-aware. Routers commonly hash fields from the packet header so packets from the same flow stay on the same next hop, which avoids the packet reordering problems that simple round-robin forwarding can create. That also means aggregate capacity improves best when there are enough independent flows to spread across the group. One large conversation may still be limited by one member path unless the application or transport opens multiple flows.
A capacity estimate should be treated as a planning model, not a guarantee. Real forwarding behavior depends on platform limits, hash inputs, flow entropy, policy, route convergence, optics, queues, and traffic shape. The estimate is still useful because it turns those assumptions into visible spare capacity, headroom, and failure runway before a maintenance window or capacity promise depends on them.
Technical Details:
ECMP capacity has two separate ceilings. The first is the active path-set ceiling: healthy paths multiplied by usable per-path bandwidth. The second is the flow-placement ceiling: how evenly traffic hashes across those paths. The calculation models hash spread as an efficiency percentage, so a seven-path set with 10 Gbps per path and an 82% hash efficiency is treated as 57.4 Gbps of effective aggregate capacity rather than the raw 70 Gbps path sum.
Headroom is applied to demand, not to the path rate. If the traffic load is 55 Gbps and the reserve target is 15%, the target demand is 63.25 Gbps. Effective capacity above 63.25 Gbps meets the reserve target, effective capacity between 55 Gbps and 63.25 Gbps covers current demand with thin reserve, and effective capacity below 55 Gbps is short before the planned reserve is considered.
Formula Core
The core model uses active path count, per-path capacity, hash efficiency, demand, and headroom. Failure runway repeats the same effective-capacity calculation after subtracting each possible additional path failure.
| Symbol | Meaning | Practical source |
|---|---|---|
N_total |
Configured equal-cost next hops when the route or prefix is healthy | Design maximum or routing configuration |
N_healthy |
Currently usable next hops after failed, drained, or withdrawn paths are removed | Live routing state, telemetry, or a planned smaller path set |
C_path |
Usable sustained bandwidth for one member path in Gbps | Measured payload rate or conservative engineering rate |
H |
Hash efficiency percentage applied to the healthy wire capacity | Telemetry-based spread estimate or planning allowance |
D and R |
Aggregate demand and target reserve percentage | Peak traffic demand plus the spare capacity target |
The single-flow check is separate from aggregate demand. Normal ECMP hashing keeps a flow on one next hop, so a 12 Gbps flow will not fit on a 10 Gbps member path even when the group has many 10 Gbps paths. This is why the model reports a per-flow path ceiling and a largest-flow margin instead of assuming every conversation can consume the whole aggregate group.
| Cue | Rule | Meaning |
|---|---|---|
target met |
Effective ECMP capacity >= Demand plus headroom |
The active path set covers demand and the selected reserve. |
reserve thin |
Effective ECMP capacity >= Aggregate demand but below target demand |
Current demand fits, but the reserve target is not covered. |
capacity short |
Effective ECMP capacity < Aggregate demand |
The active set is short before any reserve is added. |
single-flow tight |
Largest modeled flow is above 85% of one path but does not exceed it | A small change in flow size or path rate can make one member congest. |
hash efficiency below 70% |
Hash efficiency is entered below 70% | Low entropy, polarization, or an uneven flow mix should be checked before relying on aggregate capacity. |
Everyday Use & Decision Guide:
Start with the route or prefix you actually need to protect. Set Total ECMP paths to the configured path count, then set Healthy paths from the active routing state. If one next hop is drained for maintenance or missing from forwarding, use the smaller healthy count even if the design normally has more paths.
Use the sustained payload rate for Per-path capacity, not the label on the interface when shaping, tunnels, encryption, oversubscription, or policy reduce usable throughput. For Aggregate demand, use the peak traffic that should fit across the active set. A quiet-hour average can hide the exact burst that causes ECMP pressure during a failover.
- Use
Hash efficiencyaround 70% to 90% when flow spread is uncertain. Use 95% to 100% only when telemetry shows a well-balanced many-flow mix. - Enter
Largest single flowwhen backup, replication, storage, elephant TCP, or tunnel traffic could dominate one member path. Leave it at0only when that risk is unknown or not relevant. - Set
Target headroomto the reserve you need for bursts, measurement error, route churn, and short maintenance events. - Use
Planned path removalsinAdvancedbefore a drain. The maintenance row shows whether the smaller path set still covers demand and reserve. - Read
Input auditin the hash-risk table when a value looks surprising. Rounded or clamped inputs mean the result used a supported numeric fallback.
The useful first check is the summary status, then the gap between Effective ECMP capacity, Aggregate demand, and Demand plus headroom. If the summary says reserve thin, the path set is not immediately short, but the design has no room for the selected reserve. If it says capacity short, add paths, reduce demand, raise per-path rate, or improve flow distribution before depending on that ECMP group.
The calculation runs in the browser from the values you enter. It does not connect to routers, pull flow telemetry, or verify platform hash behavior, so the result is only as strong as the path health, traffic demand, and flow-spread assumptions you bring to it.
Step-by-Step Guide:
Use one pass for the current route state, then a second pass for the worst maintenance or failure condition you want to approve.
- Enter
Total ECMP pathsandHealthy paths. Thepaths healthybadge should match the route state you intend to model. - Enter
Per-path capacityin Gbps andAggregate demandfor the traffic load that must fit. - Set
Largest single flowif one flow may exceed a member path. Check thesingle-flow fits,single-flow tight, orsingle-flow over pathbadge before relying on the aggregate result. - Set
Hash efficiencyandTarget headroom. WatchEffective ECMP capacity,Spare after demand, andReserve against targetinCapacity Ledger. - Open
Advancedand enterPlanned path removalsfor a drain or maintenance window. ThePlanned drainrow inHash Risk Briefshows whether the smaller set still works. - Use
Failure RunwayandPath Failure Curveto find how many additional path failures can be absorbed before the result moves from target-covered to demand-only or short.
For a handoff, copy or download the capacity ledger, hash-risk brief, failure runway, and JSON payload along with the input assumptions. The chart exports are useful when a design note needs a quick visual comparison of configured capacity, effective capacity, demand, and failure loss.
Interpreting Results:
Effective ECMP capacity is the main planning number. It starts with healthy wire capacity and then applies the hash-efficiency allowance. Compare it with Aggregate demand for the raw fit and with Demand plus headroom for the reserve target. Spare after demand can be positive while Reserve against target is negative, which means current demand fits but the selected headroom does not.
Failure tolerance has two readings. The target reading counts how many additional path failures still cover demand plus reserve. The raw-demand reading counts how many failures still cover demand without reserve. A target value of 0 is not always a hard failure, but it means the current healthy set cannot lose another path and still keep the chosen reserve.
Hash Risk Briefturns the same math into action cues for aggregate headroom, path health, hash spread, elephant-flow risk, planned drain, and input audit.ECMP Capacity Stackcompares configured wire, healthy wire, effective ECMP capacity, traffic demand, and demand plus headroom.Path Failure Curveshows the effective capacity after each additional failed path, with demand and headroom markers for quick runway review.JSONpreserves raw inputs, normalized inputs, totals, table rows, chart data, and warnings for review notes or follow-up analysis.
Worked Examples:
Default seven-of-eight path state:
With 8 configured paths, 7 healthy paths, 10 Gbps per path, 55 Gbps demand, 82% hash efficiency, and 15% target headroom, healthy wire capacity is 70 Gbps. Effective ECMP capacity becomes 57.40 Gbps. That leaves 2.40 Gbps spare after demand, but demand plus headroom is 63.25 Gbps, so the status is reserve thin.
All paths restored with better spread:
If the same traffic has 8 healthy paths and the measured hash efficiency improves to 90%, effective capacity rises to 72.00 Gbps. The reserve target of 63.25 Gbps is covered, and raw demand can survive one additional path failure because seven paths at 90% still provide 63.00 Gbps. The reserve target is tighter than raw demand, so the target failure runway remains shorter.
Maintenance drain that should pause:
A larger group with 10 healthy paths at 25 Gbps each, 180 Gbps demand, 85% hash efficiency, and 20% headroom has 212.50 Gbps effective capacity. That is already below the 216.00 Gbps reserve target. If two planned path removals are added, maintenance capacity falls to 170.00 Gbps and becomes short against demand. The drain should be reduced, traffic should be moved, or more capacity should be added before the window proceeds.
FAQ:
Why not multiply every configured path by the link speed?
Configured paths are only the design maximum. Failed, drained, or withdrawn paths do not carry traffic, and uneven flow hashing reduces how much of the healthy wire capacity is safely usable.
Can one large flow use every ECMP path?
Usually no. Common ECMP forwarding keeps a flow on one selected next hop to avoid packet reordering. A single transfer can use more aggregate capacity only when the application, tunnel, or transport opens multiple flows that can hash to different paths.
What should I use for hash efficiency?
Use measured distribution when telemetry is available. Without it, 70% to 90% is a conservative planning range for uncertain flow entropy, while values near 100% should be reserved for well-balanced many-flow traffic.
Does a green result prove the fabric is safe?
No. The result checks the modeled path set, demand, headroom, hash allowance, and largest-flow size. It does not prove optical health, queue behavior, route convergence, hardware limits, or vendor-specific hashing details.
Glossary:
- ECMP
- Equal-cost multipath routing, where multiple equal-cost next hops can be used for the same destination.
- Healthy path
- A path that is currently usable after failures, drains, withdrawals, and policy changes are considered.
- Hash efficiency
- The percentage of healthy wire capacity treated as usable after allowing for uneven flow distribution.
- Headroom
- Reserve capacity above demand for bursts, measurement error, maintenance, and route churn.
- Elephant flow
- A large single flow that can dominate one member path even when aggregate ECMP capacity appears sufficient.
- Failure runway
- The number of additional path failures the active set can absorb before reserve or raw demand is no longer covered.