tailscale/net
Anton Tolchanov e9e209673e net/netcheck: ensure recent history has a full report
suggestExitNodeLocked now ranks exit node candidates using the per-region
latency tracked by the netcheck Client (RecentRegionLatency), which merges
the reports retained in c.prev. That history is only useful for far-away
regions if it contains a full netcheck report, since incremental reports
only re-probe the home region and a handful of the fastest ones.

The full-report cadence in GetReport and the c.prev retention window were
two independent 5-min constants - the way we schedule netchecks ensured
that the history always contaned a full report, but it was not a strong
contract and we did not have any checks around this.

Now full report interval and retention window are driven by the same
var, and a test confirms that the history contains a full report.

Updates tailscale/corp#17516

Signed-off-by: Anton Tolchanov <anton@tailscale.com>
2026-06-22 12:28:09 +02:00
..
ace all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
art all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
bakedroots all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
batching net/batching: reset Buffers len in WriteBatchTo 2026-05-31 06:12:53 -07:00
captivedetection all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
connectproxy all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
dns net/dns: restore SELinux context on /etc/resolv.conf after rename (#20167) 2026-06-18 16:36:56 -07:00
dnscache net/tsdial: run happy eyeballs across A and AAAA in UserDial 2026-05-20 18:35:55 -07:00
dnsfallback net/netutil: add NewDefaultTransport to avoid http.DefaultTransport panics 2026-06-01 12:28:36 -07:00
flowtrack all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
ipset all: use bart.Lite instead of bart.Table where appropriate 2026-03-24 14:45:23 +00:00
ktimeout all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
memnet all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
netaddr all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
netcheck net/netcheck: ensure recent history has a full report 2026-06-22 12:28:09 +02:00
neterror all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
netkernelconf all: make this spelling mistake non-existant 2026-06-11 10:37:50 +01:00
netknob all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
netmon net/netmon: skip RTM_MISS route messages on darwin (#20050) 2026-06-08 10:45:13 -07:00
netns all: don't repeat the the word "the" unnecessarily 2026-06-18 16:32:08 +01:00
netstat all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
netutil cmd/{containerboot,k8s-operator}: add 4via6 support in singleton egress (#19983) 2026-06-18 16:13:10 +01:00
netx net/tsdial: run happy eyeballs across A and AAAA in UserDial 2026-05-20 18:35:55 -07:00
packet net/packet: clarify minFragBlks reuse for IPv6 and test chained ext header 2026-06-16 10:16:06 -07:00
ping wgengine/netstack, net/ping: stop using pro-bing and use our net/ping instead 2026-05-04 14:05:24 -07:00
portmapper all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
porttrack net/porttrack: change magic listen address format for Go 1.26 2026-03-04 21:57:05 -08:00
proxymux all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
routecheck cmd/tailscale/cli: add routecheck command (#19641) 2026-06-01 11:50:24 -07:00
routetable netns,wgengine: add OpenBSD support to netns via an rtable 2026-02-25 12:44:32 -08:00
sockopts all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
socks5 all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
sockstats all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
speedtest cmd/vet: add subtestnames analyzer; fix all existing violations 2026-04-05 15:52:51 -07:00
stun cmd/vet: add subtestnames analyzer; fix all existing violations 2026-04-05 15:52:51 -07:00
stunserver all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
tcpinfo all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
tlsdial tsd, all: add Sys.ExtraRootCAs, plumb through TLS dial paths 2026-04-07 18:10:54 -07:00
traffic net/traffic: add fuzz test for sorting nodes by traffic score (#19893) 2026-05-29 11:55:49 -07:00
tsaddr all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
tsdial ipn/ipnlocal: add back a watchdog after earlier removal from engine 2026-06-02 11:57:12 -07:00
tshttpproxy cmd/vet: add subtestnames analyzer; fix all existing violations 2026-04-05 15:52:51 -07:00
tstun feature/conn25: recreate transit IP mappings when connector loses them 2026-06-17 13:50:51 -04:00
udprelay control/controlknobs,net/{batching,tstun},wgengine: add nodecaps to disable UDP & TUN GRO/GSO 2026-05-27 17:10:14 -07:00
wsconn all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00