Don't send datagrams combined with PMTUD packets since lost datagrams…#3472
Open
jesup wants to merge 1 commit intousers/jesup/stats_overheadfrom
Open
Don't send datagrams combined with PMTUD packets since lost datagrams…#3472jesup wants to merge 1 commit intousers/jesup/stats_overheadfrom
jesup wants to merge 1 commit intousers/jesup/stats_overheadfrom
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR prevents QUIC datagrams from being included in PMTUD (Path MTU Discovery) probe packets. Since datagrams are unreliable and cannot be retried, including them in probe packets risks silent data loss when middleboxes drop oversized probes.
Changes:
- Added an
is_pmtud_probeflag towrite_appdata_framesthat skips datagram frame writing when the current packet is a PMTUD probe. - Extracted the PMTUD probe condition into a reusable
is_pmtud_probelocal variable, passed through to the frame-writing logic. - Added a test verifying datagrams are excluded from PMTUD probes and sent in subsequent normal packets.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
neqo-transport/src/connection/mod.rs |
Adds is_pmtud_probe parameter to write_appdata_frames and skips datagram writing when it's a probe packet |
neqo-transport/src/connection/tests/datagram.rs |
New test datagram_not_in_pmtud_probe verifying datagrams are excluded from PMTUD probes |
mxinden
approved these changes
Mar 16, 2026
Member
mxinden
left a comment
There was a problem hiding this comment.
Not sending QUIC datagrams in PMTUD probes is a good idea.
ae31280 to
cdc8278
Compare
… can't be retried
9fdf5e7 to
2f30ddf
Compare
This was referenced May 1, 2026
Member
Author
|
This PR is part of a stack of 13 bookmarks:
Created with jj-stack |
Contributor
Failed Interop TestsNone ❓ All resultsSucceeded Interop TestsQUIC Interop Runner, client vs. server neqo-pr as clientNone ❓ neqo-pr as serverNone ❓ Unsupported Interop TestsQUIC Interop Runner, client vs. server neqo-pr as clientNone ❓ neqo-pr as serverNone ❓ |
This was referenced May 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
… can't be retried