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