diff options
| author | Jeffrey Hsu <hsu@FreeBSD.org> | 2003-07-15 21:49:53 +0000 |
|---|---|---|
| committer | Jeffrey Hsu <hsu@FreeBSD.org> | 2003-07-15 21:49:53 +0000 |
| commit | 9d11646de7094383d45b3d9a538a0f6b99c32f05 (patch) | |
| tree | 36d4a503a9c109905df229081f20d0f9c880956b /sys/netinet/tcp_timer.c | |
| parent | ff40920e9e2405f24b6d5a1f10f1f9b91ae07ff7 (diff) | |
Notes
Diffstat (limited to 'sys/netinet/tcp_timer.c')
| -rw-r--r-- | sys/netinet/tcp_timer.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/netinet/tcp_timer.c b/sys/netinet/tcp_timer.c index 4dfdba45b130..12b63a558eff 100644 --- a/sys/netinet/tcp_timer.c +++ b/sys/netinet/tcp_timer.c @@ -528,7 +528,11 @@ tcp_timer_rexmt(xtp) */ tp->snd_cwnd_prev = tp->snd_cwnd; tp->snd_ssthresh_prev = tp->snd_ssthresh; - tp->snd_high_prev = tp->snd_high; + tp->snd_recover_prev = tp->snd_recover; + if (IN_FASTRECOVERY(tp)) + tp->t_flags |= TF_WASFRECOVERY; + else + tp->t_flags &= ~TF_WASFRECOVERY; tp->t_badrxtwin = ticks + (tp->t_srtt >> (TCP_RTT_SHIFT + 1)); } tcpstat.tcps_rexmttimeo++; @@ -566,7 +570,7 @@ tcp_timer_rexmt(xtp) tp->t_srtt = 0; } tp->snd_nxt = tp->snd_una; - tp->snd_high = tp->snd_max; + tp->snd_recover = tp->snd_max; /* * Force a segment to be sent. */ @@ -607,6 +611,7 @@ tcp_timer_rexmt(xtp) tp->snd_ssthresh = win * tp->t_maxseg; tp->t_dupacks = 0; } + EXIT_FASTRECOVERY(tp); (void) tcp_output(tp); out: |
