tailscale/ipn/ipnlocal
Maisem Ali 50b4b8b2c6 ipn/ipnlocal: make peerIPs return a sorted slice
Currently peerIPs doesn't do any sorting of the routes it returns. This
is typically fine, however imagine the case of an HA subnet router
failover. When a route R moves from peer A to peer B, the output of
peerIPs changes. This in turn causes all the deephash check inside
wgengine to fail as the hashed value of [R1, R2] is different than
the hashed value of [R2, R1]. When the hash check failes, it causes
wgengine to reconfigure all routes in the OS. This is especially
problematic for macOS and iOS where we use the NetworkExtension.

This commit makes it that the peerIPs are always sorted when returned,
thus making the hash be consistent as long as the list of routes remains
static.

Signed-off-by: Maisem Ali <maisem@tailscale.com>
2022-04-13 16:30:17 -07:00
..
dnsconfig_test.go ipnlocal, net/{dns,tsaddr,tstun}, wgengine: support MagicDNS on IPv6 2022-01-04 14:37:22 -08:00
local_test.go ipn/ipnlocal: make peerIPs return a sorted slice 2022-04-13 16:30:17 -07:00
local.go ipn/ipnlocal: make peerIPs return a sorted slice 2022-04-13 16:30:17 -07:00
loglines_test.go ipn/store: add common package for instantiating ipn.StateStores 2022-02-28 13:23:33 -08:00
peerapi_h2c.go ipn/ipnlocal: add HTTP/2 h2c server support to peerapi on non-mobile platforms 2021-12-06 16:39:14 -08:00
peerapi_macios_ext.go net/tsdial: move macOS/iOS peerapi sockopt logic from LocalBackend 2021-12-01 12:55:31 -08:00
peerapi_test.go ipn/ipnlocal: run peerapi even if Taildrop storage not configured 2021-12-01 16:45:09 -08:00
peerapi.go all: use any instead of interface{} 2022-03-17 11:35:09 -07:00
ssh_stub.go ssh: make it build on darwin 2022-02-24 13:00:45 -08:00
ssh_test.go ipn/ipnlocal: generate tailscaled-owned SSH keys as needed 2022-02-24 12:15:57 -08:00
ssh.go tempfork: temporarily fork gliderlabs/ssh and x/crypto/ssh 2022-03-26 21:07:01 -07:00
state_test.go ipn/ipnlocal: do not process old status messages received out of order 2022-03-26 20:23:50 -07:00