mirror of
https://github.com/tailscale/tailscale.git
synced 2024-11-25 19:15:34 +00:00
6fecc16c3b
When `setWgengineStatus` is invoked concurrently from multiple goroutines, it is possible that the call invoked with a newer status is processed before a call with an older status. e.g. a status that has endpoints might be followed by a status without endpoints. This causes unnecessary work in the engine and can result in packet loss. This patch adds an `AsOf time.Time` field to the status to specifiy when the status was calculated, which later allows `setWgengineStatus` to ignore any status messages it receives that are older than the one it has already processed. Updates tailscale/corp#2579 Signed-off-by: Maisem Ali <maisem@tailscale.com> |
||
---|---|---|
.. | ||
bench | ||
filter | ||
magicsock | ||
monitor | ||
netstack | ||
router | ||
wgcfg | ||
wglog | ||
winnet | ||
mem_ios.go | ||
pendopen.go | ||
userspace_ext_test.go | ||
userspace_test.go | ||
userspace.go | ||
watchdog_test.go | ||
watchdog.go | ||
wgengine.go |