Closed Icelk closed 1 year ago
Would it be possibly to release a patch version after this PR? I need to downgrade the system UDP capabilities to get quinn
working with tokio-uring
:)
Seems like 35089ee1c8708f6697767baf4f96fa6d7707e923 is the only commit since 0.11
with breaking changes. Could that maybe be cherry-picked out?
Thanks for looking into interop with tokio-uring! I'm not sure this is an approach we want to support. Aside from the (fixable) issues with exposing these implementation details, GSO and GRO are critical to performance under heavy load, and ECN support is required for conformance. io-uring support alone is unlikely to be balance those severe costs. First-class tokio-uring support should require those features be available.
https://github.com/quinn-rs/quinn/pull/1612 will allow a similar level of control with less leakage, though it is a breaking change.
Closing as #1612 was merged. Let us know if that doesn't solve your issue.
Again, sorry for the late response. Your new code worked excellently and GSO & GRO are now properly implemented (https://github.com/Icelk/kvarn/tree/proper-quic/). So thank you! I completely agree with you, it would be bad not to use the offloads to maximize performance.
I blame my skepticism on my disregarding some error handling (i.e. trying again after failed GSO) and the fact that my server didn't support GSO (it's a VM), so thanks for showing me to the correct side!
Do you know when the next release is planned so these changes can be used in packages published to crates.io (my release is sort of blocking on this & a tokio-uring
PR) :)
We don't have concrete plans right now. Given that I think a semver-incompatible rustls release is probably a few weeks away (https://github.com/rustls/rustls/issues/1435), I would be inclined to wait with doing a semver-incompatible Quinn release until that's ready. Would it help if we published an alpha release?
Waiting a few weeks is completely fine—my packages don't have a ton of users. And thanks for your awesome work. I've been coding this on/off for a few months now, so waiting another one is OK.
Allows downgrading system capabilities. Closes #1609.