tailscale/types
Brad Fitzpatrick f343b496c3 wgengine, all: remove LazyWG, use wireguard-go callback API for on-demand peers
Replace the UAPI text protocol-based wireguard configuration with
wireguard-go's new direct callback API (SetPeerLookupFunc,
SetPeerByIPPacketFunc, RemoveMatchingPeers, SetPrivateKey).

Instead of computing a trimmed wireguard config ahead of time upon
control plane updates and pushing it via UAPI, install callbacks so
wireguard-go creates peers on demand when packets arrive. This removes
all the LazyWG trimming machinery: idle peer tracking, activity maps,
noteRecvActivity callbacks, the KeepFullWGConfig control knob, and the
ts_omit_lazywg build tag.

For incoming packets, PeerLookupFunc answers wireguard-go's questions
about unknown public keys by looking up the peer in the full config.
For outgoing packets, PeerByIPPacketFunc (installed from
LocalBackend.lookupPeerByIP) maps destination IPs to node public keys
using the existing nodeByAddr index.

Updates tailscale/corp#12345

Change-Id: I4cba80979ac49a1231d00a01fdba5f0c2af95dd8
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2026-04-29 19:46:19 -07:00
..
appctype feature/conn25: add IPv6 support 2026-04-07 11:00:04 -07:00
bools all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
dnstype cmd/vet: add subtestnames analyzer; fix all existing violations 2026-04-05 15:52:51 -07:00
empty all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
events wgengine/magicsock,control/controlclient: do not overwrite discokey with old key (#18606) 2026-03-20 08:56:27 -04:00
flagtype all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
geo types/geo: fix floating point bug causing NaN returns in SphericalAngleTo (#18777) 2026-03-02 17:33:57 -08:00
iox all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
ipproto all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
jsonx types/ptr: deprecate ptr.To, use Go 1.26 new 2026-03-05 20:13:18 -08:00
key wgengine, all: remove LazyWG, use wireguard-go callback API for on-demand peers 2026-04-29 19:46:19 -07:00
lazy all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
logger all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
logid all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
mapx all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
netlogfunc all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
netlogtype all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
netmap envknob/logknob: remove unused package (#19515) 2026-04-24 15:48:06 -07:00
nettype all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
opt all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
persist tailcfg: reintroduce UserProfile.Groups 2026-03-09 11:08:45 +00:00
prefs types/ptr: deprecate ptr.To, use Go 1.26 new 2026-03-05 20:13:18 -08:00
preftype all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
ptr types/ptr: deprecate ptr.To, use Go 1.26 new 2026-03-05 20:13:18 -08:00
result all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
structs all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
tkatype all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
views all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00