Implement tailcfg.PingRequest support so the control server can verify whether a connected node is still reachable. This is the foundation for faster offline detection (currently ~16min due to Go HTTP/2 TCP retransmit behavior) and future C2N communication. The server sends a PingRequest via MapResponse with a unique callback URL. The Tailscale client responds with a HEAD request to that URL, proving connectivity. Round-trip latency is measured. Wire PingRequest through the Change → Batcher → MapResponse pipeline, add a ping tracker on State for correlating requests with responses, add ResolveNode for looking up nodes by ID/IP/hostname, and expose a /debug/ping page (elem-go form UI) and /machine/ping-response endpoint. Updates #2902 Updates #2129 |
||
|---|---|---|
| .. | ||
| auth_cache_test.go | ||
| debug.go | ||
| debug_test.go | ||
| endpoint_test.go | ||
| ephemeral_test.go | ||
| maprequest.go | ||
| maprequest_test.go | ||
| node_store.go | ||
| node_store_test.go | ||
| ping.go | ||
| ssh_check_test.go | ||
| state.go | ||
| tags.go | ||
| test_helpers.go | ||