Commit graph

5 commits

Author SHA1 Message Date
Jordan Whited
799c1978fa tun: add method for disabling TCP GRO on Linux
torvalds/linux@e269d79c7d broke virtio_net
TCP & UDP GRO causing GRO writes to return EINVAL. The bug was then
resolved later in
torvalds/linux@89add40066. The offending
commit was pulled into various LTS releases.

Updates tailscale/tailscale#13041

Signed-off-by: Jordan Whited <jordan@tailscale.com>
2024-09-05 09:18:24 -07:00
Jordan Whited
6c039a188c tun: export optimized IP checksum funcs
External implementers of tun.Device may support GRO, requiring checksum
offload.

Signed-off-by: Jordan Whited <jordan@tailscale.com>
2024-07-31 13:07:01 -07:00
Jordan Whited
60eeedfd62 tun: export GSOSplit() for external Device implementers
External implementers of tun.Device may support GSO, and may also be
platform-agnostic, e.g. gVisor.

Signed-off-by: Jordan Whited <jordan@tailscale.com>
2024-07-23 18:54:28 -07:00
Jordan Whited
db7604d1aa tun: don't assume UDP GRO is supported
Signed-off-by: Jordan Whited <jordan@tailscale.com>
2023-10-31 19:20:06 -07:00
Jordan Whited
24f8d7c9e7
tun: implement UDP GSO/GRO for Linux
Signed-off-by: Jordan Whited <jordan@tailscale.com>
2023-10-26 12:09:09 -07:00
Renamed from tun/tcp_offload_linux.go (Browse further)