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

Clamp effective maximum MTU using the underlying interface limits #1978

Open
Ralith opened this issue Sep 2, 2024 · 5 comments
Open

Clamp effective maximum MTU using the underlying interface limits #1978

Ralith opened this issue Sep 2, 2024 · 5 comments
Assignees
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@Ralith
Copy link
Collaborator

Ralith commented Sep 2, 2024

This is made straightforward by Mozilla's shiny new mtu crate. As with MTUD support, this should be layered on top of, rather than taking the place of, the user's configuration, passed down as an additional constraint on the side from the quinn layer.

@Ralith Ralith added enhancement New feature or request good first issue Good for newcomers labels Sep 2, 2024
@nadongjun
Copy link

@Ralith I’d like to take this on—please assign it to me if possible. Thanks!

@Ralith
Copy link
Collaborator Author

Ralith commented Feb 4, 2025

Thanks for having a look! Feel free to reach out if you have any questions.

@Ralith
Copy link
Collaborator Author

Ralith commented Feb 4, 2025

Some complexities to be wary of:

  • quinn-proto may generate transmits to multiple addresses, even within a single connection. Transmits to different addresses may be interleaved. There isn't any mechanism to know, in advance, where the next transmit will go.
  • We probably shouldn't poll this information from the OS every time we transmit.
  • The value reported to the OS may change over time. It may or may not be important to react to that automatically.

@nadongjun
Copy link

@Ralith Thank you for the detailed explanation. I’ll reach out if I have any questions as I progress.

@larseggert
Copy link
Contributor

  • We probably shouldn't poll this information from the OS every time we transmit.

Definitely not. Getting this info via routing sockets is not cheap (many syscalls).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

3 participants