Skip to main content

Module manager

Module manager 

Source
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§

MultiPathManager
Path manager managing multiple paths per src-dst pair.
MultiPathManagerConfig
Configuration for the MultiPathManager.
MultiPathManagerRef
Weak reference to a MultiPathManager.