-
Notifications
You must be signed in to change notification settings - Fork 433
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
Missing RTO update for timed-out stream not ESTABLISHED #13
Comments
Hi, the states under established will be SYN_SENT or SYN_RCVD state. |
I remember that RTT only involves in calculating RTO of streams established. For SYN_SENT, the new RTO will be the old one multiple by 2. Which equals to (initial timeout)* 2^n |
You can view some streams in that circumstance in wireshark, their RTO grow exponential |
Ok. I'll make the following update for this. |
…_RCVD - solves issue #13 reported by Quy
Merge in GITAM/mtcp from ~NXA12342/mtcp:master-fix to mtcp-dpdk-21.11 * commit 'a9bac50f2d0bb2ee5659b74a5e2fc0ffee15e450': scr: update package category
In timer.c, function HandleRTO, there is a condition
/* update rto timestamp */
if (cur_stream->state >= TCP_ST_ESTABLISHED) {
So only stream which is ESTABLISHED or has state above will be updated its rto value.
Otherwise, stream like SYN_SENT will not and continues using old rto (1000ms) => not obey the RFC
The text was updated successfully, but these errors were encountered: