tailscale/derp
Brad Fitzpatrick e6b84f2159 all: make client use server-provided DERP map, add DERP region support
Instead of hard-coding the DERP map (except for cmd/tailscale netcheck
for now), get it from the control server at runtime.

And make the DERP map support multiple nodes per region with clients
picking the first one that's available. (The server will balance the
order presented to clients for load balancing)

This deletes the stunner package, merging it into the netcheck package
instead, to minimize all the config hooks that would've been
required.

Also fix some test flakes & races.

Fixes #387 (Don't hard-code the DERP map)
Updates #388 (Add DERP region support)
Fixes #399 (wgengine: flaky tests)

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-05-23 22:31:59 -07:00
..
derphttp all: make client use server-provided DERP map, add DERP region support 2020-05-23 22:31:59 -07:00
derpmap all: make client use server-provided DERP map, add DERP region support 2020-05-23 22:31:59 -07:00
derp_client.go derp, magicsock: send new "peer gone" frames when previous sender disconnects 2020-03-22 21:00:47 -07:00
derp_server.go derp/derp_server: unregisterClient() for replaced client connections. 2020-04-10 08:52:30 -07:00
derp_test.go derp, netcheck: make tests listen on localhost only 2020-03-30 11:29:08 -07:00
derp.go derp: prevent readFrame() from reading more than len(b) bytes. 2020-04-10 08:56:23 -07:00