wireguard-go/tun/testdata/fuzz/Fuzz_handleGRO
Jordan Whited 9e2f386022 conn, device, tun: implement vectorized I/O on Linux
Implement TCP offloading via TSO and GRO for the Linux tun.Device, which
is made possible by virtio extensions in the kernel's TUN driver.

Delete conn.LinuxSocketEndpoint in favor of a collapsed conn.StdNetBind.
conn.StdNetBind makes use of recvmmsg() and sendmmsg() on Linux. All
platforms now fall under conn.StdNetBind, except for Windows, which
remains in conn.WinRingBind, which still needs to be adjusted to handle
multiple packets.

Also refactor sticky sockets support to eventually be applicable on
platforms other than just Linux. However Linux remains the sole platform
that fully implements it for now.

Co-authored-by: James Tucker <james@tailscale.com>
Signed-off-by: James Tucker <james@tailscale.com>
Signed-off-by: Jordan Whited <jordan@tailscale.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-03-10 14:52:17 +01:00
..
0da283f9a2098dec30d1c86784411a8ce2e8e03aa3384105e581f2c67494700d conn, device, tun: implement vectorized I/O on Linux 2023-03-10 14:52:17 +01:00
032aec0105f26f709c118365e4830d6dc087cab24cd1e154c2e790589a309b77 conn, device, tun: implement vectorized I/O on Linux 2023-03-10 14:52:17 +01:00