David Anderson
ea90780066
derp: specify type of the by-reason drop varz.
...
Signed-off-by: David Anderson <dave@natulte.net>
2020-03-20 15:53:04 -07:00
Brad Fitzpatrick
fd824df1fa
derp: export metric for server's initial MemStats.Sys reading
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-03-20 15:37:36 -07:00
David Anderson
64b5248929
derp: sprinkle comments and docstrings.
...
Signed-off-by: David Anderson <dave@natulte.net>
2020-03-20 15:14:01 -07:00
David Anderson
58b8ebd290
derp: add per-reason packet drop counter.
...
In parallel with the summed counter for now, for dashboard migration.
Signed-off-by: David Anderson <dave@natulte.net>
2020-03-20 15:14:01 -07:00
David Anderson
1e031001db
derp: move write timeout to package constant.
...
Signed-off-by: David Anderson <dave@natulte.net>
2020-03-20 15:14:01 -07:00
David Anderson
dbfc916273
derp: add short queues between reader and writer, drop on overload.
...
This avoids the server blocking on misbehaving or heavily contended
clients. We attempt to drop from the head of the queue to keep
overall queueing time lower.
Also:
- fixes server->client keepalives, which weren't happening.
- removes read rate-limiter, deferring instead to kernel-level
global limiter/fair queuer.
Signed-off-by: David Anderson <dave@natulte.net>
2020-03-20 15:14:01 -07:00
Brad Fitzpatrick
dd31285ad4
wgengine/magicsock: send IPv6 using pconn6, if available
...
In prep for IPv6 support. Nothing should make it this far yet.
2020-03-20 14:30:12 -07:00
Brad Fitzpatrick
af277a6762
controlclient, magicsock: add debug knob to request IPv6 endpoints
...
Add opt-in method to request IPv6 endpoints from the control plane.
For now they should just be skipped. A previous version of this CL was
unconditional and reportedly had problems that I can't reproduce. So
make it a knob until the mystery is solved.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-03-20 14:27:24 -07:00
Brad Fitzpatrick
221e7d7767
wgengine/magicsock: make log message include DERP port (node)
2020-03-20 13:51:20 -07:00
Brad Fitzpatrick
33bdcabf03
wgengine/magicsock: call stun callback w/ only valid part of STUN packet
2020-03-20 13:44:27 -07:00
David Crawshaw
13eed1e88b
controlclient: remove common log on very quiet nodes
...
Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
2020-03-21 07:11:10 +11:00
Brad Fitzpatrick
f9cc4e8f53
tailcfg: restore MapRequest.IncludeIPv6 bool
...
Partially restores 0be475ba46
2020-03-20 08:13:47 -07:00
David Anderson
0be475ba46
Revert "tailcfg, controlclient, magicsock: request IPv6 endpoints, but ignore them"
...
Breaks something deep in wireguard or magicsock's brainstem, no packets at all
can flow. All received packets fail decryption with "invalid mac1".
This reverts commit 94024355ed
.
Signed-off-by: David Anderson <dave@natulte.net>
2020-03-20 03:26:17 -07:00
Brad Fitzpatrick
f9184ad12b
go.mod: update wireguard-go for https://github.com/tailscale/wireguard-go/pull/13
2020-03-19 22:46:36 -07:00
Brad Fitzpatrick
94024355ed
tailcfg, controlclient, magicsock: request IPv6 endpoints, but ignore them
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-03-19 21:01:52 -07:00
David Anderson
12a6626a94
tsweb: use a ResponseWriter wrapper to log more accurately.
...
Also adds tests, because the logging handler is acquiring a fair
number of branches.
Signed-off-by: David Anderson <dave@natulte.net>
2020-03-19 20:11:07 -07:00
David Anderson
2e43cd3f95
testy: add a virtual clock helper for tests.
...
Signed-off-by: David Anderson <dave@natulte.net>
2020-03-19 20:11:07 -07:00
Brad Fitzpatrick
b1d5548fa7
tailcfg: make NodeKey.IsZero have a value receiver
2020-03-19 20:00:32 -07:00
Brad Fitzpatrick
51b669e4bd
ipn: skip tailscaled UDP ports in service list
2020-03-19 19:56:02 -07:00
Brad Fitzpatrick
60ea635c6d
wgengine/magicsock: delete inaccurate comment
...
I meant to include this in the earlier commit.
2020-03-19 19:48:02 -07:00
David Crawshaw
6ddbcab71e
logtail: rename the unused CheckLogs to DrainLogs
...
Its semantics has changed slightly, this will let us use it to
drive batched logging in special circumstances.
Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
2020-03-20 13:26:33 +11:00
David Crawshaw
51a12d1307
filch: a few minor comments
...
Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
2020-03-20 13:20:45 +11:00
Brad Fitzpatrick
a184e05290
wgengine/magicsock: listen on udp6, use it for STUN, report endpoint
...
More steps towards IPv6 transport.
We now send it to tailcontrol, which ignores it.
But it doesn't actually actually support IPv6 yet (outside of STUN).
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-03-19 13:54:38 -07:00
Brad Fitzpatrick
073bb8de80
control/controlclient: don't use Node as value type
2020-03-19 13:19:02 -07:00
Brad Fitzpatrick
7caa288213
wgengine/magicsock: rename pconn field to pconn4, in prep for pconn6
2020-03-19 08:49:30 -07:00
Brad Fitzpatrick
5fa825f057
go.mod, go.sum: update
2020-03-19 08:49:12 -07:00
David Crawshaw
addbdce296
wgengine, ipn: include number of active DERPs in status
...
Use this when making the ipn state transition from Starting to
Running. This way a network of quiet nodes with no active
handshaking will still transition to Active.
Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
2020-03-19 17:55:16 +11:00
David Crawshaw
1ad78ce698
magicsock: reconnect to home DERP on key change
...
Typically the home DERP server is found and set on startup before
magicsock's SetPrivateKey can be called, so no DERP connection is
established. Make sure one is by kicking the home DERP tires in
SetPrivateKey.
Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
2020-03-19 17:53:44 +11:00
David Crawshaw
455ba751d9
magicsock: start connection to HOME derp immediately
...
The code as written intended to do this, but it repeated the
comparison of derpNum and c.myDerp after c.myDerp had been
updated, so it never executed.
Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
2020-03-19 17:36:30 +11:00
David Crawshaw
73cae4eb11
tailcfg, controlclient: standardize on wgcfg ShortString key printing
...
Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
2020-03-19 09:17:34 +11:00
David Crawshaw
acd14960f8
go.mod: bump wireguard-go
...
Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
2020-03-19 09:10:13 +11:00
Brad Fitzpatrick
14a2564ef0
go.mod: bump wireguard-go
2020-03-18 13:26:08 -07:00
Brad Fitzpatrick
19a1704abd
netcheck: use best DERP server in past 5 minutes to avoid flip-flopping
...
Fixes #162
2020-03-18 13:07:13 -07:00
Brad Fitzpatrick
6de37f4cc0
tsweb: move some comments, add a TODO
2020-03-18 09:54:48 -07:00
David Anderson
df4636567f
tsweb: adjust names and docs of the "handler with errors" functions.
...
Signed-off-by: David Anderson <dave@natulte.net>
2020-03-18 01:39:01 -07:00
David Crawshaw
131541c06d
derp: deflake test
...
Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
2020-03-18 16:33:25 +11:00
David Anderson
52d9613b42
github: add license check to CI.
...
Signed-off-by: David Anderson <dave@natulte.net>
2020-03-17 21:34:44 -07:00
David Anderson
315a5e5355
scripts: add a license header checker.
...
Signed-off-by: David Anderson <dave@natulte.net>
2020-03-17 21:34:44 -07:00
David Anderson
3e2fadf872
version: add license header to input for generated file.
...
Signed-off-by: David Anderson <dave@natulte.net>
2020-03-17 21:34:44 -07:00
David Anderson
98eceae55e
tsweb: add a Handler type.
...
Handler is like http.Handler, but returns errors. ErrHandler
converts back to an http.Handler, with added error handling
and logging.
Signed-off-by: David Anderson <dave@natulte.net>
2020-03-17 21:34:44 -07:00
Brad Fitzpatrick
f8d67bb591
portlist: ignore ports bound to localhost
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-03-17 20:55:45 -07:00
Brad Fitzpatrick
c706731dc7
tsweb: add copyright header
...
And fix an unlikely but potential crash.
2020-03-17 20:08:13 -07:00
David Anderson
a567c56971
tsweb: pull in tlog data structures from corp repo.
...
This is a prelude to having logging helpers in tsweb.
Signed-off-by: David Anderson <dave@natulte.net>
2020-03-17 17:21:50 -07:00
David Crawshaw
5a0822eefd
controlclient, ipn: fix tests for new control param
2020-03-18 08:35:34 +11:00
Brad Fitzpatrick
e085aec8ef
all: update to wireguard-go API changes
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-03-17 08:53:05 -07:00
David Anderson
dd14b658a2
version: bump again, for 0.97.0.
2020-03-16 21:16:18 -07:00
David Anderson
9ea445acd1
version: bump for 0.96.1 tag.
2020-03-16 20:35:35 -07:00
David Anderson
5758d8d48f
Merge branch 'master' of github.com:tailscale/tailscale into HEAD
2020-03-16 18:37:38 -07:00
David Anderson
bf98913106
go.mod: bump wireguard-go version.
...
Signed-off-by: David Anderson <dave@natulte.net>
2020-03-16 18:36:30 -07:00
Brad Fitzpatrick
8f9fa6a842
logtail: minor style/simplification changes
2020-03-15 22:41:50 -07:00