tailscale/wgengine
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
..
bench ipn/ipnlocal, all: plumb health trackers in tests 2024-05-07 22:22:10 -07:00
capture wgengine/capture: fix v6 field typo in wireshark dissector 2024-08-03 14:56:17 -07:00
filter wgengine/filter: support FilterRules matching on srcIP node caps [capver 100] 2024-06-20 12:27:04 -07:00
magicsock wgengine/magicsock: replace deprecated poly1305 (#13184) 2024-08-19 14:20:58 -07:00
netlog wgengine: add exit destination logging enable for wgengine logger (#11952) 2024-05-02 13:55:05 -04:00
netstack net/tstun,wgengine{/netstack/gro}: refactor and re-enable gVisor GRO for Linux (#13172) 2024-08-20 15:22:19 -07:00
router wgengine/router: use quad-100 as the nexthop on Windows 2024-07-18 10:08:29 -05:00
wgcfg ipn,wgengine: remove vestigial Prefs.AllowSingleHosts 2024-05-17 20:50:19 -07:00
wgint wgengine{,/wgint}: add wgint.Peer wrapper type, add to wgengine.Engine 2024-02-28 09:50:18 -08:00
wglog all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
winnet all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00
mem_ios.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
pendopen.go net/flowtrack: optimize Tuple type for use as map key 2024-06-18 21:31:48 -07:00
userspace_ext_test.go ipn/ipnlocal, all: plumb health trackers in tests 2024-05-07 22:22:10 -07:00
userspace_test.go ipn/ipnlocal, all: plumb health trackers in tests 2024-05-07 22:22:10 -07:00
userspace.go net/tstun,wgengine{/netstack/gro}: refactor and re-enable gVisor GRO for Linux (#13172) 2024-08-20 15:22:19 -07:00
watchdog_js.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
watchdog_test.go ipn/ipnlocal, all: plumb health trackers in tests 2024-05-07 22:22:10 -07:00
watchdog.go ipn/ipnlocal,net/tstun,wgengine: create and plumb jailed packet filter 2024-05-06 15:32:22 -07:00
wgengine.go all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00