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
Brad Fitzpatrick db2436c7ff wgengine/magicsock: don't interrupt endpoint updates, merge all mutex into one
Before, endpoint updates were constantly being interrupted and resumed
on Linux due to tons of LinkChange messages from over-zealous Linux
netlink messages (from router_linux.go)

Now that endpoint updates are fast and bounded in time anyway, just
let them run to completion, but note that another needs to be
scheduled after.

Now logs went from pages of noise to just:

root@taildoc:~# grep -i -E 'stun|endpoint update' log
2020/03/13 08:51:29 magicsock.Conn: starting endpoint update (initial)
2020/03/13 08:51:30 magicsock.Conn.ReSTUN: endpoint update active, need another later ("link-change-minor")
2020/03/13 08:51:31 magicsock.Conn: starting endpoint update (link-change-minor)
2020/03/13 08:51:31 magicsock.Conn.ReSTUN: endpoint update active, need another later ("link-change-minor")
2020/03/13 08:51:33 magicsock.Conn: starting endpoint update (link-change-minor)
2020/03/13 08:51:33 magicsock.Conn.ReSTUN: endpoint update active, need another later ("link-change-minor")
2020/03/13 08:51:35 magicsock.Conn: starting endpoint update (link-change-minor)
2020/03/13 08:51:35 magicsock.Conn.ReSTUN: endpoint update active, need another later ("link-change-minor")

Or, seen in another run:

2020/03/13 08:45:41 magicsock.Conn: starting endpoint update (periodic)
2020/03/13 08:46:09 magicsock.Conn: starting endpoint update (periodic)
2020/03/13 08:46:21 magicsock.Conn: starting endpoint update (link-change-major)
2020/03/13 08:46:37 magicsock.Conn: starting endpoint update (periodic)
2020/03/13 08:47:05 magicsock.Conn: starting endpoint update (periodic)

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
4 years ago
..
filter controlclinet: clone filter.MatchAllowAll 4 years ago
magicsock wgengine/magicsock: don't interrupt endpoint updates, merge all mutex into one 4 years ago
monitor Move linkstate boring change filtering to magicsock 4 years ago
packet wgengine/packet: fix minor lint errors. 4 years ago
winnet Move Linux client & common packages into a public repo. 4 years ago
faketun.go wgengine: properly clean up freebsd routes and interfaces on close 4 years ago
ifconfig_windows.go wgengine: fix build on linux/freebsd/openbsd/windows 4 years ago
router_darwin.go wgengine: define default tunname for each platform 4 years ago
router_darwin_support.go wgengine: make SetRoutesFunc less appealing to use. 4 years ago
router_default.go wgengine: define default tunname for each platform 4 years ago
router_fake.go wgengine: move link monitor to be owned by the engine, not the router 4 years ago
router_freebsd.go wgengine: define default tunname for each platform 4 years ago
router_linux.go wgengine: define default tunname for each platform 4 years ago
router_openbsd.go wgengine: define default tunname for each platform 4 years ago
router_windows.go wgengine: define default tunname for each platform 4 years ago
rusage.go Move "logger" package to under types, now that we have it. 4 years ago
rusage_nowindows.go wgengine: flesh out some docs 4 years ago
rusage_windows.go Move Linux client & common packages into a public repo. 4 years ago
userspace.go wgengine: don't Reconfig on boring link changes 4 years ago
watchdog.go ipn, wgengine/magicsock: add ipn.Prefs.DisableDERP bool 4 years ago
watchdog_test.go wgengine: simplify, change some signatures 4 years ago
wgengine.go wgengine: don't Reconfig on boring link changes 4 years ago