Expand description
Multipath manager for SCION path selection.
Runs one task per (src,dst) pair. Each task fetches paths, filters them, applies issue penalties, ranks candidates, and picks an active path.
Tasks track expiry, refetch intervals, backoff after failures, and drop entries that go
idle. The Active path for a (src,dst) pair is exposed lock-free via ArcSwap.
All path data comes from the provided PathFetcher. Issue reports feed
into reliability scoring and can trigger immediate re-ranking.
§Issue Handling & Penalties
Incoming issues are applied to cached paths immediately and can trigger an active-path switch. Issues are cached with a timestamp and applied to newly fetched paths.
Penalties on individual paths and individual cached issues decay over time. Allowing paths to recover.
§Active Path Switching
If no active path exists, the highest-ranked valid path is selected. Active path is replaced when it expires, nears expiry, or falls behind the best candidate by a configured score margin.
Modules§
- reliability
- Path reliability tracking
- traits
- Path fetcher traits and types.
Structs§
- Multi
Path Manager - Path manager managing multiple paths per src-dst pair.
- Multi
Path Manager Config - Configuration for the MultiPathManager.
- Multi
Path Manager Ref - Weak reference to a MultiPathManager.