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
James Tucker e1c7e9b736 wgengine/magicsock: improve endpoint selection for WireGuard peers with rx time
If we don't have the ICMP hint available, such as on Android, we can use
the signal of rx traffic to bias toward a particular endpoint.

We don't want to stick to a particular endpoint for a very long time
without any signals, so the sticky time is reduced to 1 second, which is
large enough to avoid excessive packet reordering in the common case,
but should be small enough that either rx provides a strong signal, or
we rotate in a user-interactive schedule to another endpoint, improving
the feel of failover to other endpoints.

Updates #8999

Co-authored-by: Charlotte Brandhorst-Satzkorn <charlotte@tailscale.com>

Signed-off-by: James Tucker <james@tailscale.com>
Signed-off-by: Charlotte Brandhorst-Satzkorn <charlotte@tailscale.com>
2 years ago
..
bench types/netmap, all: use read-only tailcfg.NodeView in NetworkMap 2 years ago
capture various: add golangci-lint, fix issues (#7905) 3 years ago
filter all: import x/exp/maps as xmaps to distinguish from Go 1.21 "maps" 2 years ago
magicsock wgengine/magicsock: improve endpoint selection for WireGuard peers with rx time 2 years ago
netlog wgengine/netlog: fix nil pointer dereference in logtail (#8598) 2 years ago
netstack types/netmap, all: make NetworkMap.SelfNode a tailcfg.NodeView 2 years ago
router wgengine/router: fall back and set iptables as default again 2 years ago
wgcfg types/netmap, all: make NetworkMap.SelfNode a tailcfg.NodeView 2 years ago
wgint all: update copyright and license headers 3 years ago
wglog all: update copyright and license headers 3 years ago
winnet all: update copyright and license headers 3 years ago
mem_ios.go all: update copyright and license headers 3 years ago
pendopen.go types/netmap, all: use read-only tailcfg.NodeView in NetworkMap 2 years ago
userspace.go types/netmap: remove redundant Netmap.Hostinfo 2 years ago
userspace_ext_test.go tsd: add package with System type to unify subsystem init, discovery 3 years ago
userspace_test.go types/netmap, all: use read-only tailcfg.NodeView in NetworkMap 2 years ago
watchdog.go all: remove some Debug fields, NetworkMap.Debug, Reconfig Debug arg 2 years ago
watchdog_js.go all: update copyright and license headers 3 years ago
watchdog_test.go all: update copyright and license headers 3 years ago
wgengine.go types/netmap, all: use read-only tailcfg.NodeView in NetworkMap 2 years ago