You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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>
3 years ago
..
bench all: fix more resource leaks found by staticmajor 3 years ago
filter all: fix spelling mistakes 3 years ago
magicsock wgengine/magicsock: add start of alternate send path 3 years ago
monitor envknob: support changing envknobs post-init 3 years ago
netlog wgengine/netlog: add support for magicsock statistics (#5913) 3 years ago
netstack all: fix resource leaks with missing .Close() calls 3 years ago
router wgengine/router: fix MTU configuration on Windows 3 years ago
wgcfg wgengine/wgcfg: plumb down audit log IDs (#5855) 3 years ago
wgint go.mod, wgengine/wgint: bump wireguard-go 3 years ago
wglog all: use syncs.AtomicValue 3 years ago
winnet all: gofmt all 4 years ago
mem_ios.go go.mod: upgrade wireguard-windows, de-fork wireguard-go 5 years ago
pendopen.go wgengine: remove all peer status from open timeout diagnostics 3 years ago
userspace.go net/dns: always attempt to read the OS config on macOS/iOS 3 years ago
userspace_ext_test.go go.mod: upgrade wireguard-windows, de-fork wireguard-go 5 years ago
userspace_test.go all: convert more code to use net/netip directly 3 years ago
watchdog.go wgengine: print in-flight operations on watchdog trigger (#5447) 3 years ago
watchdog_js.go wasm: drop pprof dependency 4 years ago
watchdog_test.go wgengine: remove all peer status from open timeout diagnostics 3 years ago
wgengine.go wgengine: fix typo in Engine.PeerForIP (#5912) 3 years ago