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/net
Andrew Dunham 727acf96a6 net/netcheck: use DERP frames as a signal for home region liveness
This uses the fact that we've received a frame from a given DERP region
within a certain time as a signal that the region is stil present (and
thus can still be a node's PreferredDERP / home region) even if we don't
get a STUN response from that region during a netcheck.

This should help avoid DERP flaps that occur due to losing STUN probes
while still having a valid and active TCP connection to the DERP server.

RELNOTE=Reduce home DERP flapping when there's still an active connection

Updates #8603

Signed-off-by: Andrew Dunham <andrew@du.nham.ca>
Change-Id: If7da6312581e1d434d5c0811697319c621e187a0
2 years ago
..
art net/art: allow non-pointers as values 2 years ago
connstats net/connstats: exclude traffic with internal Tailscale service (#7904) 3 years ago
dns net/dns: use an additional registry setting to disable dynamic DNS updates for our interface on Windows 2 years ago
dnscache net/dnscache: remove completed TODO 2 years ago
dnsfallback net/dnsfallback: add singleflight to recursive resolver 2 years ago
flowtrack all: update copyright and license headers 3 years ago
interfaces net/interfaces: ensure we return valid 'self' IP in LikelyHomeRouterIP 2 years ago
memnet net/memnet: export the network name (#9111) 2 years ago
netaddr all: update copyright and license headers 3 years ago
netcheck net/netcheck: use DERP frames as a signal for home region liveness 2 years ago
neterror net/neterror, wgengine/magicsock: use UDP GSO and GRO on Linux (#7791) 3 years ago
netkernelconf client/tailscale,ipn/{ipnlocal,localapi}: check UDP GRO config (#10071) 2 years ago
netknob all: update copyright and license headers 3 years ago
netmon net/netmon: log when the gateway/self IP changes 2 years ago
netns net/{interfaces,netmon}: remove "interesting", EqualFiltered API 2 years ago
netstat net/{netns,netstat}: use new x/sys/cpu.IsBigEndian 3 years ago
netutil cmd/tailscale: refactor shared utility methods 2 years ago
packet net/packet: split off checksum munging into different pkg 2 years ago
ping net/ping: fix ICMP echo code field to 0 2 years ago
portmapper net/portmapper: be smarter about selecting a UPnP device 2 years ago
proxymux all: update copyright and license headers 3 years ago
routetable net/routetable: include unknown flags in the routetable doctor output 3 years ago
socks5 net/socks5: add password auth support 3 years ago
sockstats net/dns: retry forwarder requests over TCP 2 years ago
speedtest all: update copyright and license headers 3 years ago
stun wgengine/magicsock, types/nettype, etc: finish ReadFromUDPAddrPort netip migration 3 years ago
tcpinfo net/tcpinfo: add package to allow fetching TCP information 2 years ago
tlsdial cmd/tailscale/cli: make netcheck run even if machine lacks TLS certs 2 years ago
tsaddr types/netmap: remove NetworkMap.{Addresses,MachineStatus} 2 years ago
tsdial types/netmap: remove NetworkMap.{Addresses,MachineStatus} 2 years ago
tshttpproxy net/tshttpproxy: don't proxy through ourselves 3 years ago
tstun cmd/tailscaled,net/tstun: fix data race on start-up in TUN mode 2 years ago
wsconn net/wsconn: accept a remote addr string and plumb it through 2 years ago