net/tstun: probe TCP GRO (#13376)

Disable TCP & UDP GRO if the probe fails.

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 #13041

Signed-off-by: Jordan Whited <jordan@tailscale.com>
This commit is contained in:
Jordan Whited
2024-09-05 09:59:31 -07:00
committed by GitHub
parent 7dcf65a10a
commit 7aa766ee65
7 changed files with 87 additions and 32 deletions

View File

@@ -492,6 +492,7 @@ func NewUserspaceEngine(logf logger.Logf, conf Config) (_ Engine, reterr error)
if err := e.router.Up(); err != nil {
return nil, fmt.Errorf("router.Up: %w", err)
}
tsTUNDev.SetLinkFeaturesPostUp()
// It's a little pointless to apply no-op settings here (they
// should already be empty?), but it at least exercises the