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/magicsock
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>
2 years ago
..
debughttp.go wgengine/magicsock: fix panic in http debug server 2 years ago
debugknobs.go wgengine/magicsock: add client flag and envknob to disable heartbeat (#5638) 2 years ago
debugknobs_stubs.go wgengine/magicsock: add client flag and envknob to disable heartbeat (#5638) 2 years ago
discopingpurpose_string.go wgengine/magicsock: make discoPingPurpose a stringer 4 years ago
magicsock.go wgengine/magicsock: add start of alternate send path 2 years ago
magicsock_default.go wgengine/magicsock: set UDP socket buffer sizes to 7MB 2 years ago
magicsock_linux.go wgengine/magicsock: set UDP socket buffer sizes to 7MB 2 years ago
magicsock_test.go wgengine/magicsock: remove endpoint.wgEndpoint (#5911) 2 years ago
magicsock_unix_test.go wgengine/magicsock: set UDP socket buffer sizes to 7MB 2 years ago