wgengine/netstack: disable gVisor GSO on Linux (#13213)

net/tstun.Wrapper.InjectInboundPacketBuffer is not GSO-aware, which can
break quad-100 TCP streams as a result. Linux is the only platform where
gVisor GSO was previously enabled.

Updates tailscale/corp#22511
Updates #13211

Signed-off-by: Jordan Whited <jordan@tailscale.com>
This commit is contained in:
Jordan Whited 2024-08-21 12:09:54 -07:00 committed by GitHub
parent aa448d5a99
commit eb07c606d6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -329,7 +329,8 @@ func Create(logf logger.Logf, tundev *tstun.Wrapper, e wgengine.Engine, mc *magi
// TODO(jwhited): add Windows GSO support https://github.com/tailscale/corp/issues/21874
// TODO(jwhited): exercise enableGRO in relation to https://github.com/tailscale/corp/issues/22353
linkEP = newLinkEndpoint(512, uint32(tstun.DefaultTUNMTU()), "", disableGRO)
linkEP.SupportedGSOKind = stack.HostGSOSupported
// TODO(jwhited): re-enable GSO https://github.com/tailscale/corp/issues/22511
linkEP.SupportedGSOKind = stack.GSONotSupported
} else {
linkEP = newLinkEndpoint(512, uint32(tstun.DefaultTUNMTU()), "", disableGRO)
}