-
Notifications
You must be signed in to change notification settings - Fork 223
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
fix: incidental packet drop and weird UDP state maintaining #539
Conversation
❌ Your branch is currently out-of-sync to main. No worry, I will fix it for you. |
Further testing has shown that HTTP/3 upload speeds still drop to zero after a short time. The following command can be used to establish a benchmark for this issue:
The results from https://h3.speed.cloudflare.com/ also indicate there is a problem: |
Maybe also fix #513? Orz |
@mnixry Thanks for your rapid feedback. I have reproduced this problem. |
I observed an interesting phenomenon. Like yours, the data sending was stuck after sending 1023K. |
@mnixry It seems that the data should be in-order and dae handle all packets as unordered. I'll fix it soon. |
ba62394
to
b8257f7
Compare
b8257f7
to
a0a1ace
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧪 Since the PR has been fully tested, please consider merging it.
Background
ebpf drop
The past two PRs #493, #505 have introduced a weird problem: erroneous UDP status maintenance will occur when a large number of concurrent messages are sent.
This results in some packets of stateful udp connection being incorrectly sent directly (such as what should be proxied and sent to dae control plane), resulting in sporadic packet drop. May be relevant: #533 (comment).
This problem is particularly likely to be triggered when the original traffic is udp and the throughput is large, such as http3 traffic and bt traffic.
Although I haven't fully verified, this fix may incidentally resolve the DNS leak issue.
unordered udp packets
The data which should be in order will be handled as unordered by dae, which may cause more resources by quic to process.
Checklist
Full Changelogs
Issue Reference
Closes #513
Test Result
NA