reset rto timer on fast retransmission (see task #13757, patch by Joel Cunningham)

This commit is contained in:
sg 2016-03-16 21:49:37 +01:00
parent 7b9cb98bbb
commit 5f8b5cbb20
2 changed files with 7 additions and 1 deletions

View File

@ -302,6 +302,9 @@ HISTORY
++ Bugfixes:
2013-03-16: Joel Cunningham
* tcp_out.c: reset rto timer on fast retransmission
2016-03-16: Deomid Ryabkov
* tcp_out.c: fixed bug #46384 Segment size calculation bug with MSS != TCP_MSS

View File

@ -1185,7 +1185,7 @@ tcp_output_segment(struct tcp_seg *seg, struct tcp_pcb *pcb)
/* Set retransmission timer running if it is not currently enabled
This must be set before checking the route. */
if (pcb->rtime == -1) {
if (pcb->rtime < 0) {
pcb->rtime = 0;
}
@ -1460,6 +1460,9 @@ tcp_rexmit_fast(struct tcp_pcb *pcb)
pcb->cwnd = pcb->ssthresh + 3 * pcb->mss;
pcb->flags |= TF_INFR;
/* Reset the retransmission timer to prevent immediate rto retransmissions */
pcb->rtime = 0;
}
}