Skip to main content

REBIND_VALIDATION_PATH_ID

Constant REBIND_VALIDATION_PATH_ID 

Source
pub const REBIND_VALIDATION_PATH_ID: u8 = 255;
Expand description

Reserved path_id for validating a passive NAT rebind (M-3).

A passive rebind (the peer’s source address changes without it calling migrate()) keeps path_id = 0 — the implicit, permanently-Validated handshake path. Because path 0 is always Validated, the path-id-gated challenge logic would skip it and the new source would never be validated, promoted, or used for the downstream direction (a stall). The server detects the rebind by address (an AEAD-authenticated frame whose source differs from the established peer) and challenges that candidate on this dedicated reserved id, which the registry can take through Validating → Validated independently of the always-Validated path 0.

This id is carved permanently out of the active-migration id space: Session::next_migration_path_id never returns it (it wraps 254 → 1, skipping both 0 and 255), so a client-driven migration and a passive rebind can never share this registry slot.