mirror of
https://github.com/tailscale/tailscale.git
synced 2026-04-03 22:25:27 -04:00
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>