tailscale/ipn/ipnlocal
Mihai Parparita f4f8ed98d9 sockstats: add validation for TCP socket stats
We can use the TCP_CONNECTION_INFO getsockopt() on Darwin to get
OS-collected tx/rx bytes for TCP sockets. Since this API is not available
for UDP sockets (or on Linux/Android), we can't rely on it for actual
stats gathering.

However, we can use it to validate the stats that we collect ourselves
using read/write hooks, so that we can be more confident in them. We
do need additional hooks from the Go standard library (added in
tailscale/go#59) to be able to collect them.

Updates tailscale/corp#9230
Updates #3363

Signed-off-by: Mihai Parparita <mihai@tailscale.com>
2023-03-08 13:39:30 -08:00
..
testdata ipn/ipnlocal: fix the path for writing cert files (#7203) 2023-02-07 14:34:04 -08:00
c2n.go version: unexport all vars, turn Short/Long into funcs 2023-02-11 07:29:55 +00:00
cert_js.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
cert_test.go ipn/ipnlocal: fix the path for writing cert files (#7203) 2023-02-07 14:34:04 -08:00
cert.go version: unexport all vars, turn Short/Long into funcs 2023-02-11 07:29:55 +00:00
dnsconfig_test.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
expiry_test.go ipn/ipnlocal: handle more edge cases in netmap expiry timer 2023-02-06 20:32:25 -05:00
expiry.go ipn/ipnlocal: handle more edge cases in netmap expiry timer 2023-02-06 20:32:25 -05:00
local_test.go all: use tstest.Replace more 2023-03-04 12:24:55 -08:00
local.go wgengine/magicsock: track per-endpoint changes in ringbuffer 2023-03-07 13:53:03 -05:00
loglines_test.go all: replace logtail.{Public,Private}ID with logid.{Public,Private}ID (#7404) 2023-02-28 19:00:00 -08:00
network-lock_test.go ipn,cmd/tailscale: implement resigning nodes on tka key removal 2023-03-03 10:09:05 -10:00
network-lock.go tka: compact TKA storage on startup 2023-03-03 10:09:26 -10:00
peerapi_h2c.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
peerapi_macios_ext.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
peerapi_test.go ipn/ipnlocal: drop not required StateKey parameter 2023-01-30 17:58:55 -08:00
peerapi.go sockstats: add validation for TCP socket stats 2023-03-08 13:39:30 -08:00
profiles_test.go ipn/ipnlocal: use presence of NodeID to identify logins 2023-02-06 21:52:35 -08:00
profiles.go ipn/ipnlocal: use presence of NodeID to identify logins 2023-02-06 21:52:35 -08:00
serve_test.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
serve.go all: update to Go 1.20, use strings.CutPrefix/Suffix instead of our fork 2023-02-01 15:23:54 -08:00
ssh_stub.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
ssh_test.go ipn/ipnlocal: drop not required StateKey parameter 2023-01-30 17:58:55 -08:00
ssh.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
state_test.go ipn/ipnlocal: use presence of NodeID to identify logins 2023-02-06 21:52:35 -08:00