8 Commits
Author SHA1 Message Date
Jason A. Donenfeld 9eb3221f1d global: bump copyright notice
Signed-off-by: Jason A. Donenfeld <[email protected]>
2025-05-05 15:05:35 +02:00
Jordan WhitedandJames Tucker 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 <[email protected]>
Signed-off-by: James Tucker <[email protected]>
Signed-off-by: Jordan Whited <[email protected]>
Signed-off-by: Jason A. Donenfeld <[email protected]>
2023-03-10 14:52:17 +01:00
Jason A. Donenfeld ebbd4a4330 global: bump copyright year
Signed-off-by: Jason A. Donenfeld <[email protected]>
2023-02-07 20:39:29 -03:00
Jason A. Donenfeld bb719d3a6e global: bump copyright year
Signed-off-by: Jason A. Donenfeld <[email protected]>
2022-09-20 17:21:32 +02:00
Jason A. Donenfeld dfd688b6aa global: remove old-style build tags
Signed-off-by: Jason A. Donenfeld <[email protected]>
2021-10-12 12:02:10 -06:00
Jason A. Donenfeld 2ef39d4754 global: add new go 1.17 build comments
Signed-off-by: Jason A. Donenfeld <[email protected]>
2021-09-05 16:00:43 +02:00
Jason A. Donenfeld 3c11c0308e conn: implement RIO for fast Windows UDP sockets
Signed-off-by: Jason A. Donenfeld <[email protected]>
2021-02-25 15:08:08 +01:00
Jason A. Donenfeld a4f8e83d5d conn: make binds replacable
Signed-off-by: Jason A. Donenfeld <[email protected]>
2021-02-23 20:00:57 +01:00