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>
9 months ago
..
bench types/netmap, all: use read-only tailcfg.NodeView in NetworkMap 10 months ago
capture various: add golangci-lint, fix issues (#7905) 1 year ago
filter all: import x/exp/maps as xmaps to distinguish from Go 1.21 "maps" 10 months ago
magicsock wgengine/magicsock: improve endpoint selection for WireGuard peers with rx time 9 months ago
netlog wgengine/netlog: fix nil pointer dereference in logtail (#8598) 11 months ago
netstack types/netmap, all: make NetworkMap.SelfNode a tailcfg.NodeView 9 months ago
router wgengine/router: fall back and set iptables as default again 10 months ago
wgcfg types/netmap, all: make NetworkMap.SelfNode a tailcfg.NodeView 9 months ago
wgint all: update copyright and license headers 1 year ago
wglog all: update copyright and license headers 1 year ago
winnet all: update copyright and license headers 1 year ago
mem_ios.go all: update copyright and license headers 1 year ago
pendopen.go types/netmap, all: use read-only tailcfg.NodeView in NetworkMap 10 months ago
userspace.go types/netmap: remove redundant Netmap.Hostinfo 9 months ago
userspace_ext_test.go tsd: add package with System type to unify subsystem init, discovery 1 year ago
userspace_test.go types/netmap, all: use read-only tailcfg.NodeView in NetworkMap 10 months ago
watchdog.go all: remove some Debug fields, NetworkMap.Debug, Reconfig Debug arg 10 months ago
watchdog_js.go all: update copyright and license headers 1 year ago
watchdog_test.go all: update copyright and license headers 1 year ago
wgengine.go types/netmap, all: use read-only tailcfg.NodeView in NetworkMap 10 months ago