mirror of
https://github.com/tailscale/tailscale.git
synced 2024-11-26 03:25:35 +00:00
50b4b8b2c6
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> |
||
---|---|---|
.. | ||
ipnlocal | ||
ipnserver | ||
ipnstate | ||
localapi | ||
policy | ||
store | ||
backend.go | ||
doc.go | ||
fake_test.go | ||
handle.go | ||
message_test.go | ||
message.go | ||
prefs_clone.go | ||
prefs_test.go | ||
prefs.go | ||
store.go |