tailscale/wgengine/magicsock
Jordan Whited 8b47322acc
wgengine/magicsock: implement probing of UDP path lifetime (#10844)
This commit implements probing of UDP path lifetime on the tail end of
an active direct connection. Probing configuration has two parts -
Cliffs, which are various timeout cliffs of interest, and
CycleCanStartEvery, which limits how often a probing cycle can start,
per-endpoint. Initially a statically defined default configuration will
be used. The default configuration has cliffs of 10s, 30s, and 60s,
with a CycleCanStartEvery of 24h. Probing results are communicated via
clientmetric counters. Probing is off by default, and can be enabled
via control knob. Probing is purely informational and does not yet
drive any magicsock behaviors.

Updates #540

Signed-off-by: Jordan Whited <jordan@tailscale.com>
2024-01-23 09:37:32 -08:00
..
batching_conn.go wgengine/magicsock: improve don't fragment bit set/get support 2023-09-21 04:17:12 -07:00
blockforever_conn.go wgengine/magicsock: improve don't fragment bit set/get support 2023-09-21 04:17:12 -07:00
debughttp.go wgengine/magicsock: implement probing of UDP path lifetime (#10844) 2024-01-23 09:37:32 -08:00
debugknobs_stubs.go wgengine/magicsock: replace CanPMTUD() with ShouldPMTUD() 2023-09-21 04:17:12 -07:00
debugknobs.go all: cleanup unused code, part 2 (#10670) 2023-12-21 17:40:03 -08:00
derp.go wgengine/magicsock: implement probing of UDP path lifetime (#10844) 2024-01-23 09:37:32 -08:00
discopingpurpose_string.go wgengine/magicsock: implement probing of UDP path lifetime (#10844) 2024-01-23 09:37:32 -08:00
endpoint_default.go all: adjust some build tags for plan9 2023-08-24 15:42:35 -07:00
endpoint_stub.go all: adjust some build tags for plan9 2023-08-24 15:42:35 -07:00
endpoint_test.go wgengine/magicsock: implement probing of UDP path lifetime (#10844) 2024-01-23 09:37:32 -08:00
endpoint_tracker_test.go wgengine/magicsock: only cache N most recent endpoints per-Addr 2023-08-15 14:06:42 -07:00
endpoint_tracker.go wgengine/magicsock: only cache N most recent endpoints per-Addr 2023-08-15 14:06:42 -07:00
endpoint.go wgengine/magicsock: implement probing of UDP path lifetime (#10844) 2024-01-23 09:37:32 -08:00
magicsock_default.go wgengine/magicsock: delete unused stuff 2023-07-26 11:44:41 -07:00
magicsock_linux.go wgengine/magicsock: simplify tryEnableUDPOffload() (#9872) 2023-10-18 18:50:40 -07:00
magicsock_test.go wgengine/magicsock: implement probing of UDP path lifetime (#10844) 2024-01-23 09:37:32 -08:00
magicsock_unix_test.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
magicsock.go wgengine/magicsock: implement probing of UDP path lifetime (#10844) 2024-01-23 09:37:32 -08:00
peermap.go wgengine/magicsock: make peerMap also keyed by NodeID 2023-09-11 12:43:47 -07:00
peermtu_darwin.go wgengine/magicsock: improve don't fragment bit set/get support 2023-09-21 04:17:12 -07:00
peermtu_linux.go wgengine/magicsock: improve don't fragment bit set/get support 2023-09-21 04:17:12 -07:00
peermtu_stubs.go magicsock: mute noisy expected peer mtu related error (#10870) 2024-01-19 20:04:22 -05:00
peermtu_unix.go wgengine/magicsock: replace CanPMTUD() with ShouldPMTUD() 2023-09-21 04:17:12 -07:00
peermtu.go magicsock: mute noisy expected peer mtu related error (#10870) 2024-01-19 20:04:22 -05:00
rebinding_conn.go wgengine/magicsock: improve don't fragment bit set/get support 2023-09-21 04:17:12 -07:00