Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

udp: disable GSO on EINVAL #1637

Merged
merged 1 commit into from
Aug 20, 2023
Merged

udp: disable GSO on EINVAL #1637

merged 1 commit into from
Aug 20, 2023

Conversation

Ralith
Copy link
Collaborator

@Ralith Ralith commented Aug 20, 2023

Linux 5.15 was observed to emit an EINVAL when attempting to transmit UDP with GSO over IPv6 on a virtio net interface, which apparently only supports UDP GSO on IPv6 as of Linux 6.2. 6.1 was also observed to emit EINVAL, though only after EIO. In both cases, EINVAL was suppressed by disabling GSO.

Companion change to #1636. I don't fully understand why Linux is returning EINVAL in these cases, so I'm not 100% certain this is the correct fix, but at the very least it won't hurt.

quinn-udp/src/unix.rs Outdated Show resolved Hide resolved
Linux 5.15 was observed to emit an EINVAL when attempting to transmit
UDP with GSO over IPv6 on a virtio net interface. 6.1 was also
observed to emit EINVAL, though only after EIO. In both cases, EINVAL
was suppressed by disabling GSO.
@Ralith Ralith merged commit b3652a8 into main Aug 20, 2023
8 checks passed
@Ralith Ralith deleted the gso-fallback branch August 20, 2023 22:54
mzz2017 added a commit to daeuniverse/quic-go that referenced this pull request Sep 2, 2023
mzz2017 added a commit to daeuniverse/quic-go that referenced this pull request Sep 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants