tailscale/feature
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
..
ace all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
appconnectors all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
awsparamstore cmd/tailscale/cli: allow fetching keys from AWS Parameter Store 2026-01-29 18:09:56 -05:00
buildfeatures wgengine, all: remove LazyWG, use wireguard-go callback API for on-demand peers 2026-04-29 19:46:19 -07:00
c2n all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
capture all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
clientupdate feature/clientupdate: windows update should use tailscale.exe update (#19438) 2026-04-17 10:28:35 -07:00
condlite/expvar all: fix duplicate package docs and tighten TestPackageDocs 2026-04-24 19:01:43 -07:00
condregister ipn/ipnlocal,tailcfg: add /debug/tka c2n endpoint (#19198) 2026-04-20 16:00:03 +01:00
conn25 feature/conn25: add the ability to return addresses to the IP Pools 2026-04-24 08:48:48 -07:00
debugportmapper all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
doctor all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
drive all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
featuretags wgengine, all: remove LazyWG, use wireguard-go callback API for on-demand peers 2026-04-29 19:46:19 -07:00
identityfederation cmd/vet: add subtestnames analyzer; fix all existing violations 2026-04-05 15:52:51 -07:00
linkspeed all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
linuxdnsfight all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
oauthkey cmd/vet: add subtestnames analyzer; fix all existing violations 2026-04-05 15:52:51 -07:00
portlist feature/portlist: address case where poller misses CollectServices updates 2026-03-04 13:07:23 -08:00
portmapper all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
posture posture: add HealthTracker for serial number retrieval (#19181) 2026-04-25 15:42:47 -03:00
relayserver cmd/vet: add subtestnames analyzer; fix all existing violations 2026-04-05 15:52:51 -07:00
sdnotify all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
ssh ipn/ipnlocal, feature/ssh: move SSH code out of LocalBackend to feature 2026-03-10 17:27:17 -07:00
syspolicy all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
taildrop all: fix duplicate package docs and tighten TestPackageDocs 2026-04-24 19:01:43 -07:00
tailnetlock ipn/ipnlocal,tailcfg: add /debug/tka c2n endpoint (#19198) 2026-04-20 16:00:03 +01:00
tap all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
tpm all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
tundevstats feature/*,net/tstun: add tundev_txq_drops clientmetric on Linux 2026-03-24 09:44:58 -07:00
useproxy all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
wakeonlan all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
feature.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
hooks.go ipn/ipnlocal, feature/ssh: move SSH code out of LocalBackend to feature 2026-03-10 17:27:17 -07:00
sdnotify.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00