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

Bump github.com/quic-go/quic-go from 0.33.0 to 0.36.1 #1035

Merged

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jul 3, 2023

Bumps github.com/quic-go/quic-go from 0.33.0 to 0.36.1.

Release notes

Sourced from github.com/quic-go/quic-go's releases.

v0.36.1

This patch release disables GSO support (quic-go/quic-go#3934), unless explicitly enabled using an environment variable (QUIC_GO_ENABLE_GSO=true). We discovered that GSO fails with some NICs and in some containerized environments. See #3911 for a detailed discussion.

From the user's perspective, GSO should "just work". Once we have a fix that correctly detects GSO support under all circumstances we'll re-enable GSO by default.

v0.36.0

Generic Segmentation Offload (GSO)

This release enables GSO (Generic Segmentation Offload) in the send path, drastically increasing the packet send rate. Without GSO, quic-go had to use a single (sendmsg) syscall for every UDP datagram sent. GSO allows us to pass one giant (up to 64k) datagram to the sendmsg syscall, and have the kernel chop it into MTU sized (~1300 bytes) datagrams before sending them out on the wire. For more details on syscall optimizations, CloudFlare published an excellent blog post about this a while ago. GSO is currently only available on Linux (and with kernels >4.18).

Users who are using the same net.PacketConn for QUIC and to send out non-QUIC packets now need to call the newly introduced OptimizeConn function before passing the connection to the Transport. Otherwise, calls to WriteTo will fail after GSO support was enabled. Users who are not using the same net.PacketConn in this way don't need to change anything.

We also continued our effort to further reduce allocations during data transfers (#3526). Work on improving performance even further will continue in future releases.

Other Notable Changes

  • http3: The server now returns http.ErrServerClosed instead of quic.ErrServerClosed (#3900)
  • quic-go now correctly deals with super-short idle timeouts (#3909)
  • uint62 overflows are now correctly handled in the Config (#3866)
  • only run DPLPMTUD (RFC 8899) on connections that support setting the DF bit (#3879)
  • switch to the packet number length derivation logic described in the RFC (#3885)
  • fix panics when closing an uninitialized Transport (#3908)

Full Changelog

... (truncated)

Commits
  • 4384df1 disable GSO unless QUIC_GO_ENABLE_GSO is set (#3934)
  • 4a78b51 update link to the wiki page about UDP buffer sizes (#3924)
  • da298d0 docs: improve documentation of OptimizeConn (#3910)
  • 8352e5d check for uninitialized fields when closing the Transport (#3908)
  • 9acce3c http3: return http.ErrServerClosed instead of quic.ErrServerClosed (#3900)
  • e4fe289 docs: add detailed description of the quic package (#3902)
  • 28d5106 wire: switch to crypto/rand for greased transport parameter generation (#3904)
  • f57f876 respect minimum idle timeout of 3 PTOs (#3909)
  • 85764da docs: improve doc comments for the ConnectionState fields (#3901)
  • 30527c5 frame fuzzer: handle frames one by one (#3884)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.33.0 to 0.36.1.
- [Release notes](https://github.com/quic-go/quic-go/releases)
- [Changelog](https://github.com/quic-go/quic-go/blob/master/Changelog.md)
- [Commits](quic-go/quic-go@v0.33.0...v0.36.1)

---
updated-dependencies:
- dependency-name: github.com/quic-go/quic-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code labels Jul 3, 2023
@dependabot dependabot bot requested a review from suchen-sci July 3, 2023 09:38
@codecov-commenter
Copy link

codecov-commenter commented Jul 3, 2023

Codecov Report

Patch coverage has no change and project coverage change: +0.01 🎉

Comparison is base (2503461) 81.70% compared to head (685ceb9) 81.71%.

❗ Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1035      +/-   ##
==========================================
+ Coverage   81.70%   81.71%   +0.01%     
==========================================
  Files         135      135              
  Lines       15044    15044              
==========================================
+ Hits        12291    12293       +2     
+ Misses       2197     2195       -2     
  Partials      556      556              

see 1 file with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@suchen-sci suchen-sci added this pull request to the merge queue Jul 4, 2023
Merged via the queue into main with commit 4f7d1bb Jul 4, 2023
7 of 8 checks passed
@dependabot dependabot bot deleted the dependabot/go_modules/github.com/quic-go/quic-go-0.36.1 branch July 4, 2023 01:44
sodaRyCN pushed a commit to wecloudstack/Bigress that referenced this pull request Jul 9, 2023
)

Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.33.0 to 0.36.1.
- [Release notes](https://github.com/quic-go/quic-go/releases)
- [Changelog](https://github.com/quic-go/quic-go/blob/master/Changelog.md)
- [Commits](quic-go/quic-go@v0.33.0...v0.36.1)

---
updated-dependencies:
- dependency-name: github.com/quic-go/quic-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file go Pull requests that update Go code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants