tailscale/wgengine
Charlotte Brandhorst-Satzkorn ddb4040aa0
wgengine/magicsock: add address selection for wireguard only endpoints (#7979)
This change introduces address selection for wireguard only endpoints.
If a endpoint has not been used before, an address is randomly selected
to be used based on information we know about, such as if they are able
to use IPv4 or IPv6. When an address is initially selected, we also
initiate a new ICMP ping to the endpoints addresses to determine which
endpoint offers the best latency. This information is then used to
update which endpoint we should be using based on the best possible
route. If the latency is the same for a IPv4 and an IPv6 address, IPv6
will be used.

Updates #7826

Signed-off-by: Charlotte Brandhorst-Satzkorn <charlotte@tailscale.com>
2023-05-02 17:49:56 -07:00
..
bench all: move network monitoring from wgengine/monitor to net/netmon 2023-04-20 10:15:59 -07:00
capture various: add golangci-lint, fix issues (#7905) 2023-04-17 18:38:24 -04:00
filter all: use tstest.Replace more 2023-03-04 12:24:55 -08:00
magicsock wgengine/magicsock: add address selection for wireguard only endpoints (#7979) 2023-05-02 17:49:56 -07:00
netlog all: avoid repeated default interface lookups 2023-04-20 15:46:01 -07:00
netstack wgengine/netstack: fix data-race on startup 2023-04-10 09:13:21 -07:00
router all: move network monitoring from wgengine/monitor to net/netmon 2023-04-20 10:15:59 -07:00
wgcfg tailcfg: make SelfNodeV4MasqAddrForThisPeer a pointer 2023-04-13 11:28:33 -07:00
wgint all: update copyright and license headers 2023-01-27 15:36:29 -08:00
wglog all: update copyright and license headers 2023-01-27 15:36:29 -08:00
winnet all: update copyright and license headers 2023-01-27 15:36:29 -08:00
mem_ios.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
pendopen.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
userspace_ext_test.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
userspace_test.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
userspace.go all: avoid repeated default interface lookups 2023-04-20 15:46:01 -07:00
watchdog_js.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
watchdog_test.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
watchdog.go all: move network monitoring from wgengine/monitor to net/netmon 2023-04-20 10:15:59 -07:00
wgengine.go all: move network monitoring from wgengine/monitor to net/netmon 2023-04-20 10:15:59 -07:00