net/tstun: implement env var for disabling UDP GRO on Linux (#11924)

Certain device drivers (e.g. vxlan, geneve) do not properly handle
coalesced UDP packets later in the stack, resulting in packet loss.

Updates #11026

Signed-off-by: Jordan Whited <jordan@tailscale.com>
This commit is contained in:
Jordan Whited
2024-04-30 09:14:02 -07:00
committed by GitHub
parent ec04c677c0
commit a47ce618bd
5 changed files with 39 additions and 3 deletions

View File

@@ -53,6 +53,9 @@ func New(logf logger.Logf, tunName string) (tun.Device, string, error) {
dev.Close()
return nil, "", err
}
if err := setLinkFeatures(dev); err != nil {
logf("setting link features: %v", err)
}
if err := setLinkAttrs(dev); err != nil {
logf("setting link attributes: %v", err)
}