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
Andrew Dunham 80b138f0df wgengine/magicsock: keep advertising endpoints after we stop discovering them
Previously, when updating endpoints we would immediately stop
advertising any endpoint that wasn't discovered during
determineEndpoints. This could result in, for example, a case where we
performed an incremental netcheck, didn't get any of our three STUN
packets back, and then dropped our STUN endpoint from the set of
advertised endpoints... which would result in clients falling back to a
DERP connection until the next call to determineEndpoints.

Instead, let's cache endpoints that we've discovered and continue
reporting them to clients until a timeout expires. In the above case
where we temporarily don't have a discovered STUN endpoint, we would
continue reporting the old value, then re-discover the STUN endpoint
again and continue reporting it as normal, so clients never see a
withdrawal.

Updates tailscale/coral#108

Signed-off-by: Andrew Dunham <andrew@du.nham.ca>
Change-Id: I42de72e7418ab328a6c732bdefc74549708cf8b9
2 years ago
..
bench all: update copyright and license headers 2 years ago
capture net, wgengine/capture: encode NAT addresses in pcap stream 2 years ago
filter all: use tstest.Replace more 2 years ago
magicsock wgengine/magicsock: keep advertising endpoints after we stop discovering them 2 years ago
monitor net/sockstats: remove explicit dependency on wgengine/monitor 2 years ago
netlog sockstats: add labels for netlog and sockstatlog packages 2 years ago
netstack wgengine/netstack: fix data-race on startup 2 years ago
router envknob,net/tstun,wgengine: use TS_DEBUG_MTU consistently 2 years ago
wgcfg tailcfg: make SelfNodeV4MasqAddrForThisPeer a pointer 2 years ago
wgint all: update copyright and license headers 2 years ago
wglog all: update copyright and license headers 2 years ago
winnet all: update copyright and license headers 2 years ago
mem_ios.go all: update copyright and license headers 2 years ago
pendopen.go all: update copyright and license headers 2 years ago
userspace.go net/tstun,wgengine/*: add support for NAT to routes 2 years ago
userspace_ext_test.go all: update copyright and license headers 2 years ago
userspace_test.go all: update copyright and license headers 2 years ago
watchdog.go wgengine: start logging DISCO frames to pcap stream 2 years ago
watchdog_js.go all: update copyright and license headers 2 years ago
watchdog_test.go all: update copyright and license headers 2 years ago
wgengine.go wgengine: start logging DISCO frames to pcap stream 2 years ago