tailscale/net
Jordan Whited df6014f1d7
net/tstun,wgengine{/netstack/gro}: refactor and re-enable gVisor GRO for Linux (#13172)
In 2f27319baf we disabled GRO due to a
data race around concurrent calls to tstun.Wrapper.Write(). This commit
refactors GRO to be thread-safe, and re-enables it on Linux.

This refactor now carries a GRO type across tstun and netstack APIs
with a lifetime that is scoped to a single tstun.Wrapper.Write() call.

In 25f0a3fc8f we used build tags to
prevent importation of gVisor's GRO package on iOS as at the time we
believed it was contributing to additional memory usage on that
platform. It wasn't, so this commit simplifies and removes those
build tags.

Updates tailscale/corp#22353
Updates tailscale/corp#22125
Updates #6816

Signed-off-by: Jordan Whited <jordan@tailscale.com>
2024-08-20 15:22:19 -07:00
..
art all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
captivedetection net/captivedetection: mark TestAllEndpointsAreUpAndReturnExpectedResponse flaky (#13021) 2024-08-03 22:08:55 +00:00
connstats all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
dns health/dns: reduce severity of DNS unavailable warning (#13152) 2024-08-16 11:12:06 -04:00
dnscache net/dnscache: use parent context to perform lookup 2024-06-12 11:21:02 -07:00
dnsfallback {control,net}: close idle connections of custom transports 2024-08-05 17:28:15 +01:00
flowtrack net/flowtrack: fix, test String method 2024-06-18 21:44:44 -07:00
ipset go.mod: bump bart 2024-07-08 19:10:44 -07:00
ktimeout net/ktimeout: add a package to set TCP user timeout 2024-02-20 10:49:58 -08:00
memnet net/memnet: export the network name (#9111) 2023-08-28 11:43:51 -07:00
netaddr all: update copyright and license headers 2023-01-27 15:36:29 -08:00
netcheck health: introduce captive-portal-detected Warnable (#12707) 2024-07-26 11:25:55 -07:00
neterror net/neterror, wgengine/magicsock: use UDP GSO and GRO on Linux (#7791) 2023-04-04 16:32:16 -07:00
netkernelconf ipn/{ipnlocal,localapi},net/netkernelconf,client/tailscale,cmd/containerboot: optionally enable UDP GRO forwarding for containers (#12410) 2024-06-10 19:19:03 +01:00
netknob all: update copyright and license headers 2023-01-27 15:36:29 -08:00
netmon all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00
netns net/netns: remove some logspam by avoiding logging parse errors due to unspecified addresses 2024-07-31 12:34:16 -06:00
netstat all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00
netutil all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00
packet net/packet/checksum: fix v6 NAT 2024-08-03 11:38:00 -07:00
ping net/ping: fix ICMP echo code field to 0 2023-09-15 17:08:39 -07:00
portmapper all: use math/rand/v2 more 2024-06-05 15:24:04 -07:00
proxymux all: cleanup unused code, part 1 (#10661) 2023-12-20 14:50:30 -08:00
routetable net/{interfaces,netmon}, all: merge net/interfaces package into net/netmon 2024-04-28 07:34:52 -07:00
socks5 net/socks5: support UDP 2024-08-05 09:25:24 -07:00
sockstats net/{interfaces,netmon}, all: merge net/interfaces package into net/netmon 2024-04-28 07:34:52 -07:00
speedtest all: update copyright and license headers 2023-01-27 15:36:29 -08:00
stun ci: enable checklocks workflow for specific packages 2024-06-26 13:55:07 -04:00
stunserver all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
tcpinfo all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
tlsdial cmd/tta, vnet: add host firewall, env var support, more tests 2024-08-12 15:32:12 -07:00
tsaddr net/ipset, wgengine/filter/filtertype: add split-out packages 2024-06-16 15:25:23 -07:00
tsdial {control,net}: close idle connections of custom transports 2024-08-05 17:28:15 +01:00
tshttpproxy all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
tstun net/tstun,wgengine{/netstack/gro}: refactor and re-enable gVisor GRO for Linux (#13172) 2024-08-20 15:22:19 -07:00
wsconn go.{mod,sum}: migrate from nhooyr.io/websocket to github.com/coder/websocket 2024-08-14 21:23:49 -07:00