Mirror of tailscale/tailscale@github.com
Go to file
Brad Fitzpatrick 120273d7f6 portlist: document, clean up, fix an open fd spike, optimize a bit
I noticed portlist when looking at some profiles and hadn't looked at
the code much before. This is a first pass over it. It allocates a
fair bit. More love remains, but this does a bit:

name       old time/op    new time/op    delta
GetList-8    9.92ms ± 8%    9.64ms ±12%     ~     (p=0.247 n=10+10)

name       old alloc/op   new alloc/op   delta
GetList-8     931kB ± 0%     869kB ± 0%   -6.70%  (p=0.000 n=10+10)

name       old allocs/op  new allocs/op  delta
GetList-8     4.59k ± 0%     3.69k ± 1%  -19.71%  (p=0.000 n=10+10)

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-03-13 21:06:41 -07:00
.github Revert "update CI and everything to Go 1.14." 2020-03-06 13:45:54 -08:00
atomicfile Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
cmd cmd/tailscaled: rename relaynode reference in defaults file comment 2020-03-13 14:38:04 -07:00
control/controlclient control/controlclient: remove a number literal in string slice offset 2020-03-13 09:48:15 -07:00
derp derp: test that client a->b and a->c relaying do not interfere 2020-03-12 14:42:48 -04:00
ipn portlist: document, clean up, fix an open fd spike, optimize a bit 2020-03-13 21:06:41 -07:00
logpolicy logpolicy: automatically figure out paths and filenames. 2020-02-19 18:52:41 -08:00
logtail logtail/filch: use x/sys/unix instead of syscall. 2020-02-13 23:56:39 -08:00
metrics metrics: add a LabelMap type for variables with 1 label dimension. 2020-03-04 13:22:50 -08:00
net net/nettest: new package with net-like testing primitives 2020-03-12 14:42:48 -04:00
netcheck Quiet two little log annoyances. 2020-03-13 09:42:09 -07:00
paths paths: use /var/db for state on BSDs, and /var/run for sockets. 2020-03-03 17:49:31 -08:00
portlist portlist: document, clean up, fix an open fd spike, optimize a bit 2020-03-13 21:06:41 -07:00
ratelimit Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
safesocket safesocket: make some effort to create parent directory of sock 2020-03-03 11:47:21 -08:00
stun netcheck: work behind UDP-blocked networks again, add tests 2020-03-12 14:49:06 -07:00
stunner stunner: quiet a harmless log warning 2020-03-12 14:14:23 -07:00
syncs syncs: add new package for extra sync types 2020-03-12 11:13:33 -07:00
tailcfg tailcfg.NetInfo: add a .String() renderer. 2020-03-13 01:29:47 -04:00
tempfork/osexec Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
testy Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
tsweb wgengine/monitor: don't call LinkChange when interfaces look unchanged 2020-03-10 11:03:19 -07:00
types types/logger: add adapters for Logf to std Logger/Writer 2020-03-06 12:00:24 -08:00
version version: bump OSS version datestamp. 2020-03-11 10:47:37 -07:00
wgengine wgengine/magicsock: don't interrupt endpoint updates, merge all mutex into one 2020-03-13 09:34:11 -07:00
.gitattributes .gitattributes: add a smudge filter for go.mod. 2020-02-19 20:02:02 -05:00
.gitignore cmd/relaynode: drop local --acl-file in favour of central packet filter. 2020-02-20 00:15:43 -05:00
AUTHORS Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
CODE_OF_CONDUCT.md Add a code of conduct. 2020-02-10 22:16:30 -08:00
Dockerfile Revert "update CI and everything to Go 1.14." 2020-03-06 13:45:54 -08:00
LICENSE Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
PATENTS Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
README.md Revert "update CI and everything to Go 1.14." 2020-03-06 13:45:54 -08:00
SECURITY.md Add a SECURITY.md for vulnerability reports. 2020-02-11 10:26:41 -08:00
go.mod go.mod: bump wireguard-go version. 2020-03-11 10:32:50 -07:00
go.sum go.mod: bump wireguard-go version. 2020-03-11 10:32:50 -07:00

README.md

Tailscale

https://tailscale.com

Private WireGuard® networks made easy

Overview

This repository contains all the open source Tailscale code. It currently includes the Linux client.

The Linux client is currently cmd/relaynode, but will soon be replaced by cmd/tailscaled.

Using

We serve packages for a variety of distros at https://pkgs.tailscale.com .

Building

go install tailscale.com/cmd/tailscale{,d}

We only support the latest Go release and any Go beta or release candidate builds (currently Go 1.13.x or Go 1.14) in module mode. It might work in earlier Go versions or in GOPATH mode, but we're making no effort to keep those working.

Bugs

Please file any issues about this code or the hosted service on the issue tracker.

Contributing

under_construction.gif

PRs welcome, but we are still working out our contribution process and tooling.

We require Developer Certificate of Origin Signed-off-by lines in commits.

About Us

We are apenwarr, bradfitz, crawshaw, danderson, dfcarney, from Tailscale Inc. You can learn more about us from our website.

WireGuard is a registered trademark of Jason A. Donenfeld.