-
-
Notifications
You must be signed in to change notification settings - Fork 509
fix(quinn-udp): only set GSO segment size if != content length #2050
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
fix(quinn-udp): only set GSO segment size if != content length #2050
Conversation
mxinden
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure I understand the purpose of this new conditional.
If I understand your comment #2042 (comment) correctly, GSO always fails on Android. If that is indeed always the case, why not disable it all together on Android?
It works fine when I am on WiFi and the unit tests also run on Android. It only fails on mobile data! That is the weird bit. The purpose of the conditional is to actually make the "disable GSO on failure"-mechanism work. |
We've seen this on other Linux as well, which is why the dynamic |
Ralith
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like we already have similar logic in quinn-proto, which is probably why we've never noticed this problem before:
quinn/quinn-proto/src/connection/mod.rs
Lines 1039 to 1042 in 3a9d176
| segment_size: match num_datagrams { | |
| 1 => None, | |
| _ => Some(segment_size), | |
| }, |
I don't particularly mind being a little more robust here, though.
This is interesting. I don't know anything about how these network drivers are organised in the Linux kernel but the docs page (https://www.man7.org/linux/man-pages/man7/udp.7.html) says:
I guess, this still doesn't rule out that the particular software support is missing. |
Would you like me to remove this from |
9df74f1 to
0627e31
Compare
0627e31 to
fa7849e
Compare
Nah, I don't think that's necessary. I see it as defense in depth, maybe. In theory |
…chain-reviewers `quinn-udp` `v0.5.8` contains an intermediary fix for Bug 1916558, see quinn-rs/quinn#2071. In addition `quinn-udp` `v0.5.8` Includes the following bugfixes: - quinn-rs/quinn#2072 - quinn-rs/quinn#2073 - quinn-rs/quinn#2074 - quinn-rs/quinn#2050 - quinn-rs/quinn#2047 Differential Revision: https://phabricator.services.mozilla.com/D231505
…chain-reviewers `quinn-udp` `v0.5.8` contains an intermediary fix for Bug 1916558, see quinn-rs/quinn#2071. In addition `quinn-udp` `v0.5.8` Includes the following bugfixes: - quinn-rs/quinn#2072 - quinn-rs/quinn#2073 - quinn-rs/quinn#2074 - quinn-rs/quinn#2050 - quinn-rs/quinn#2047 Differential Revision: https://phabricator.services.mozilla.com/D231505
…chain-reviewers `quinn-udp` `v0.5.8` contains an intermediary fix for Bug 1916558, see quinn-rs/quinn#2071. In addition `quinn-udp` `v0.5.8` Includes the following bugfixes: - quinn-rs/quinn#2072 - quinn-rs/quinn#2073 - quinn-rs/quinn#2074 - quinn-rs/quinn#2050 - quinn-rs/quinn#2047 Differential Revision: https://phabricator.services.mozilla.com/D231505 UltraBlame original commit: a8cd98601fdff821fe9cc516ddb61f54c104fb58
…chain-reviewers `quinn-udp` `v0.5.8` contains an intermediary fix for Bug 1916558, see quinn-rs/quinn#2071. In addition `quinn-udp` `v0.5.8` Includes the following bugfixes: - quinn-rs/quinn#2072 - quinn-rs/quinn#2073 - quinn-rs/quinn#2074 - quinn-rs/quinn#2050 - quinn-rs/quinn#2047 Differential Revision: https://phabricator.services.mozilla.com/D231505 UltraBlame original commit: a8cd98601fdff821fe9cc516ddb61f54c104fb58
…chain-reviewers `quinn-udp` `v0.5.8` contains an intermediary fix for Bug 1916558, see quinn-rs/quinn#2071. In addition `quinn-udp` `v0.5.8` Includes the following bugfixes: - quinn-rs/quinn#2072 - quinn-rs/quinn#2073 - quinn-rs/quinn#2074 - quinn-rs/quinn#2050 - quinn-rs/quinn#2047 Differential Revision: https://phabricator.services.mozilla.com/D231505 UltraBlame original commit: a8cd98601fdff821fe9cc516ddb61f54c104fb58
No description provided.