-
-
Notifications
You must be signed in to change notification settings - Fork 409
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
ECN on Windows #765
Comments
It would be useful to cite evidence. |
Receiving ECN is possible via the |
Setting it might be possible via the undocumented |
As per microsoft/msquic#559 (comment) I don’t believe this is supported on current versions of Windows. Closing. |
Reopening in light of microsoft/msquic#559 (comment) which actually implements ECN in MsQuic. Since |
in microsoft document, we can write UDP client / server, and use wirshark can find, IP ECN 2bits can be modify by windows socket API WSASendMsg but how to use in Rust, does quinn-udp can support such action?
https://learn.microsoft.com/en-us/windows/win32/winsock/winsock-ecn Thanks |
We don't support this yet in quinn-udp, would you be able to send a PR to use windows-sys APIs to implement this? |
Well, since I'm newer to Rust, I don't have the ability to write good Rust code at the moment i will use workaround to solve the current problem(Rust call C API to send ECN UDP packet) |
I did a quick study about this support and i think it is doable, i will work on this and submit a PR when done. |
Little update in teaser mode :
|
Out of curiosity, when do we expect this to fail? |
From what i read, this function was introduced with TCP/IP version 6 extension on Windows XP, what is strange is that nowadays you still need to detect it dynamically event if it seems supported by default since Windows 8.1. |
Huh, that is funny. I'm not sure it's worth the maintenance trouble to maintain a fallback for such old versions of Windows, in any case. |
Little update :
I plan to send a draft PR as soon as possible |
Fixed in #1701. |
This might be possible, although the APIs are undocumented.
The text was updated successfully, but these errors were encountered: