Brad Fitzpatrick
dbb4c246fa
wgengine/monitor: add Windows linkchange monitor
...
Updates tailscale/corp#553
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-08-13 07:39:26 -07:00
Brad Fitzpatrick
b983e5340f
wgengine/monitor: add, clean up netlink logging on route changes
...
Updates #643
2020-08-12 13:27:14 -07:00
Brad Fitzpatrick
43bc86588e
wgengine/monitor: log RTM_DELROUTE details, fix format strings
...
Updates #643
2020-08-05 20:44:05 -07:00
Wendi Yu
c3736250a4
wgengine: fix macos staticcheck errors ( #557 )
...
Signed-off-by: Wendi <wendi.yu@yahoo.ca>
2020-07-14 17:28:02 -06:00
Brad Fitzpatrick
ce1b52bb71
wgengine/monitor: fix other potential crashes on Linux
...
Never return "nil, nil" anymore. The caller expected a usable
interface now. I missed some of these earlier.
Also, handle address deletion now.
Updates #532
2020-07-07 11:08:16 -07:00
Brad Fitzpatrick
4b75a27969
wgengine/monitor: fix crash on Linux on type 21 messages
...
Fixes #532
2020-07-07 10:45:25 -07:00
Brad Fitzpatrick
4db60a8436
wgengine/monitor: parse Linux netlink messages, ignore our own events
...
Fixes tailscale/corp#412 ("flood of link change events at start-up")
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-07-06 22:42:01 -07:00
Elias Naur
2dac4f2b24
wgengine/monitor: disable monitor on Android
...
Netlink is not supported on Android.
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2020-04-24 06:35:31 -07:00
Brad Fitzpatrick
023df9239e
Move linkstate boring change filtering to magicsock
...
So we can at least re-STUN on boring updates.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-03-10 12:50:03 -07:00
Brad Fitzpatrick
5c1e443d34
wgengine/monitor: don't call LinkChange when interfaces look unchanged
...
Basically, don't trust the OS-level link monitor to only tell you
interesting things. Sanity check it.
Also, move the interfaces package into the net directory now that we
have it.
2020-03-10 11:03:19 -07:00
Tobias Klauser
4d09316f9a
wgengine/monitor: use RTMGRP_* consts from x/sys/unix
...
Bump golang.org/x/sys/unix to get the RTMGRP_* consts and use them.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2020-02-17 14:15:08 -08:00
Brad Fitzpatrick
997678f540
wgengine/monitor: make Close not block forever on Linux
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-02-17 11:39:33 -08:00
Brad Fitzpatrick
7f5e3febe5
wgengine: move link monitor to be owned by the engine, not the router
...
And make the monitor package portable with no-op implementations on
unsupported operating systems.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-02-17 09:53:17 -08:00
Brad Fitzpatrick
79295b1138
wgengine: simplify, change some signatures
...
* make RouterGen return an error, not take both tunname and tundev
* also remove RouteGen taking a wireguard/device.Device; currently unused
* remove derp parameter (it'll work differently)
* unexport NewUserspaceRouter in per-OS impls, add documented wrapper
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-02-17 08:04:31 -08:00
Brad Fitzpatrick
2896be60db
Move "logger" package to under types, now that we have it.
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-02-14 20:23:05 -08:00
wardn
2cafbd74c7
monitor: refactor for architecture-specific connection implementations
...
Signed-off-by: wardn <wardn@users.noreply.github.com>
2020-02-13 09:46:17 -08:00