Files
tailscale/ipn/routecheck
Simon Law 4d56dfdba0 ipn/routecheck: track reachability changes incrementally
The routecheck client will watch the IPN bus for WireGuard engine
updates, ipn.NotifyWatchEngineUpdates, which supplies it with status
updates on a regular timer and also on immediate changes. The GUI
clients already use this mechanism over the Local Client API, so
we aren’t introducing any significant overhead.

Routecheck will track established WireGuard tunnels using these engine
updates. If a tunnel is established and this node is receiving traffic
over that link, then we can conclude that the destination peer is not
just reachable, but actively in use. Due to Cryptokey Routing, we
should prefer active tunnels to avoid breaking existing connections.

Updates #17366
Updates tailscale/corp#33033

Signed-off-by: Simon Law <sfllaw@tailscale.com>
2026-04-01 16:20:42 -07:00
..