tailscale/wgengine
Jordan Whited 0926954cf5
net/tstun,wgengine/netstack: implement TCP GRO for local services (#13315)
Throughput improves substantially when measured via netstack loopback
(TS_DEBUG_NETSTACK_LOOPBACK_PORT).

Before (d21ebc2):
jwhited@i5-12400-2:~$ iperf3 -V -c 100.100.100.100
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks
Test Complete. Summary Results:
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  5.77 GBytes  4.95 Gbits/sec    0 sender
[  5]   0.00-10.01  sec  5.77 GBytes  4.95 Gbits/sec      receiver

After:
jwhited@i5-12400-2:~$ iperf3 -V -c 100.100.100.100
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks
Test Complete. Summary Results:
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  12.7 GBytes  10.9 Gbits/sec    0 sender
[  5]   0.00-10.00  sec  12.7 GBytes  10.9 Gbits/sec      receiver

Updates tailscale/corp#22754

Signed-off-by: Jordan Whited <jordan@tailscale.com>
2024-08-29 11:37:48 -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: implement TCP GRO for local services (#13315) 2024-08-29 11:37:48 -07:00
router go.mod: update to github.com/tailscale/netlink library that doesn't require vishvananda/netlink 2024-08-22 17:35:37 -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.go net/tstun,wgengine{/netstack/gro}: refactor and re-enable gVisor GRO for Linux (#13172) 2024-08-20 15:22:19 -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
watchdog.go ipn/ipnlocal,net/tstun,wgengine: create and plumb jailed packet filter 2024-05-06 15:32:22 -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
wgengine.go all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00