tailscale/wgengine
Brad Fitzpatrick deac82231c wgengine/magicsock: add start of alternate send path
During development of silent disco (#540), an alternate send policy
for magicsock that doesn't wake up the radio frequently with
heartbeats, we want the old & new policies to coexist, like we did
previously pre- and post-disco.

We started to do that earlier in 5c42990c2f but only set up the
env+control knob plumbing to set a bool about which path should be
used.

This starts to add a way for the silent disco code to update the send
path from a separate goroutine. (Part of the effort is going to
de-state-machinify the event based soup that is the current disco
code and make it more Go synchronous style.)

So far this does nothing. (It does add an atomic load on each send
but that should be noise in the grand scheme of things, and a even more
rare atomic store of nil on node config changes.)

Baby steps.

Updates #540

Co-authored-by: Jenny Zhang <jz@tailscale.com>
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2022-10-20 08:45:42 -07:00
..
bench all: fix more resource leaks found by staticmajor 2022-10-10 20:46:56 -07:00
filter all: fix spelling mistakes 2022-09-29 13:36:13 -07:00
magicsock wgengine/magicsock: add start of alternate send path 2022-10-20 08:45:42 -07:00
monitor envknob: support changing envknobs post-init 2022-09-15 15:04:02 -07:00
netlog wgengine/netlog: add support for magicsock statistics (#5913) 2022-10-13 10:46:29 -07:00
netstack all: fix resource leaks with missing .Close() calls 2022-09-26 15:31:54 -07:00
router wgengine/router: fix MTU configuration on Windows 2022-10-13 10:48:03 -07:00
wgcfg wgengine/wgcfg: plumb down audit log IDs (#5855) 2022-10-06 16:19:38 -07:00
wgint go.mod, wgengine/wgint: bump wireguard-go 2022-09-06 11:34:30 -07:00
wglog all: use syncs.AtomicValue 2022-08-04 11:52:16 -07:00
winnet all: gofmt all 2022-04-29 13:06:04 -07:00
mem_ios.go go.mod: upgrade wireguard-windows, de-fork wireguard-go 2021-05-25 13:18:21 -07:00
pendopen.go wgengine: remove all peer status from open timeout diagnostics 2022-08-29 15:54:33 -07:00
userspace.go net/dns: always attempt to read the OS config on macOS/iOS 2022-10-13 15:11:07 -07:00
userspace_ext_test.go go.mod: upgrade wireguard-windows, de-fork wireguard-go 2021-05-25 13:18:21 -07:00
userspace_test.go all: convert more code to use net/netip directly 2022-07-25 21:53:49 -07:00
watchdog.go wgengine: print in-flight operations on watchdog trigger (#5447) 2022-08-27 22:06:18 -04:00
watchdog_js.go wasm: drop pprof dependency 2022-06-07 12:16:16 -07:00
watchdog_test.go wgengine: remove all peer status from open timeout diagnostics 2022-08-29 15:54:33 -07:00
wgengine.go wgengine: fix typo in Engine.PeerForIP (#5912) 2022-10-12 14:14:22 -07:00