when newreno is turned on, if dupacks = 1 or dupacks = 2 and

new data is acknowledged, reset the dupacks to 0.
The problem was spotted when a connection had its send buffer full
because the congestion window was only 1 MSS and was not being incremented
because dupacks was not reset to 0.

Obtained from:		Yahoo!
This commit is contained in:
Jayanth Vijayaraghavan 2001-08-29 23:54:13 +00:00
parent 2b8bab2f34
commit e7e2b80184
2 changed files with 4 additions and 0 deletions

View File

@ -1885,6 +1885,8 @@ tcp_input(m, off0, proto)
tp->snd_cwnd = tp->snd_ssthresh;
tp->t_dupacks = 0;
}
if (tp->t_dupacks < tcprexmtthresh)
tp->t_dupacks = 0;
if (SEQ_GT(th->th_ack, tp->snd_max)) {
tcpstat.tcps_rcvacktoomuch++;
goto dropafterack;

View File

@ -1885,6 +1885,8 @@ tcp_input(m, off0, proto)
tp->snd_cwnd = tp->snd_ssthresh;
tp->t_dupacks = 0;
}
if (tp->t_dupacks < tcprexmtthresh)
tp->t_dupacks = 0;
if (SEQ_GT(th->th_ack, tp->snd_max)) {
tcpstat.tcps_rcvacktoomuch++;
goto dropafterack;