Browse Source

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

STABLE-2_1_x
sg 10 years ago
parent
commit
5f8b5cbb20
  1. 3
      CHANGELOG
  2. 5
      src/core/tcp_out.c

3
CHANGELOG

@ -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

5
src/core/tcp_out.c

@ -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;
}
}

Loading…
Cancel
Save