Skip to content

Disable Segmentation Support on EIO#3867

Merged
nibanks merged 3 commits intomainfrom
nibanks/no-gso-fallback
Sep 25, 2023
Merged

Disable Segmentation Support on EIO#3867
nibanks merged 3 commits intomainfrom
nibanks/no-gso-fallback

Conversation

@nibanks
Copy link
Collaborator

@nibanks nibanks commented Sep 23, 2023

Description

Update Linux epoll datapath to fallback to non-GSO sends if the EIO error is returned, which most likely indicates the NIC doesn't support it. This seems to be the case on at least some Android devices.

Fixed #3865.

Testing

CI/CD for regression testing. Not sure how to actually test this fallback atm.

Documentation

N/A

@nibanks nibanks requested a review from a team as a code owner September 23, 2023 15:12
@codecov
Copy link

codecov bot commented Sep 23, 2023

Codecov Report

❗ No coverage uploaded for pull request base (main@f9d26ac). Click here to learn what that means.
Report is 1 commits behind head on main.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #3867   +/-   ##
=======================================
  Coverage        ?   86.44%           
=======================================
  Files           ?       56           
  Lines           ?    16693           
  Branches        ?        0           
=======================================
  Hits            ?    14431           
  Misses          ?     2262           
  Partials        ?        0           

@mtfriesen
Copy link
Contributor

Interesting. Does Linux GSO not perform software fallback?

@nibanks nibanks merged commit 49b1ec3 into main Sep 25, 2023
@nibanks nibanks deleted the nibanks/no-gso-fallback branch September 25, 2023 13:05
nibanks added a commit that referenced this pull request Sep 25, 2023
@jwhited
Copy link
Contributor

jwhited commented Sep 29, 2023

Interesting. Does Linux GSO not perform software fallback?

In the case of software UDP GSO, Linux still requires the egress netdev to offload checksumming: https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/man7/udp.7?id=806eabd74910447f21005160e90957bde4db0183

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.

[msquic2.2] linux sendmmsg failed via GSO disabled interface

3 participants