New
v0.18.0
ECMP Classification & Flow Attribution Hardening
This release fixes how ttl handles ECMP (Equal-Cost Multi-Path) load balancing, particularly per-packet ECMP common on Arista, Juniper, and Cisco switches. Previously, users would see "Paths: 1" in the main table despite 8+ responders visible in the hop detail view.
Added
- ECMP classification — Detects per-flow vs per-packet ECMP using primary concentration heuristics. Paths column now accurately reflects observed responder count for per-packet load balancing (#46)
Eindicator — New ECMP indicator in main table replaces misleading!(route flap) when ECMP is the actual cause- Effective flow capability — Runtime detection of protocol flow support.
--flows > 1with ICMP now warns and collapses to single-flow instead of silently doing nothing - Receiver flow attribution hardening — Out-of-range source ports (NAT/CGNAT) no longer force-attributed to flow 0. Unknown-flow responses only match pending probes when unambiguous
- Hop detail view — Per-packet ECMP section shows responder count and path count; per-flow ECMP section unchanged