diff options
author | Ryan Stone <rstone@FreeBSD.org> | 2017-02-11 17:05:08 +0000 |
---|---|---|
committer | Ryan Stone <rstone@FreeBSD.org> | 2017-02-11 17:05:08 +0000 |
commit | 5ede40dcf27b06e992362e4da631281cafd7e67a (patch) | |
tree | 485c8179c8ca7257ea5632637b32418e67b6e5c4 /sys/netinet/tcp_timer.c | |
parent | c05d6667473ba69ade25bff7186eaa5a565b66d0 (diff) |
Notes
Diffstat (limited to 'sys/netinet/tcp_timer.c')
-rw-r--r-- | sys/netinet/tcp_timer.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/netinet/tcp_timer.c b/sys/netinet/tcp_timer.c index f9f5c05fdce4..064e45b0a51b 100644 --- a/sys/netinet/tcp_timer.c +++ b/sys/netinet/tcp_timer.c @@ -845,20 +845,16 @@ tcp_timer_rexmt(void * xtp) (tp->t_rxtshift == 3)) tp->t_flags &= ~(TF_REQ_SCALE|TF_REQ_TSTMP|TF_SACK_PERMIT); /* - * If we backed off this far, our srtt estimate is probably bogus. - * Clobber it so we'll take the next rtt measurement as our srtt; - * move the current srtt into rttvar to keep the current - * retransmit times until then. + * If we backed off this far, notify the L3 protocol that we're having + * connection problems. */ - if (tp->t_rxtshift > TCP_MAXRXTSHIFT / 4) { + if (tp->t_rxtshift > TCP_RTT_INVALIDATE) { #ifdef INET6 if ((tp->t_inpcb->inp_vflag & INP_IPV6) != 0) in6_losing(tp->t_inpcb); else #endif in_losing(tp->t_inpcb); - tp->t_rttvar += (tp->t_srtt >> TCP_RTT_SHIFT); - tp->t_srtt = 0; } tp->snd_nxt = tp->snd_una; tp->snd_recover = tp->snd_max; |