Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_timer.c
Show First 20 Lines • Show All 839 Lines • ▼ Show 20 Lines | #endif | ||||
* (most of which have hopefully been retired) that have bad VJ | * (most of which have hopefully been retired) that have bad VJ | ||||
* header compression code which trashes TCP segments containing | * header compression code which trashes TCP segments containing | ||||
* unknown-to-them TCP options. | * unknown-to-them TCP options. | ||||
*/ | */ | ||||
if (tcp_rexmit_drop_options && (tp->t_state == TCPS_SYN_SENT) && | if (tcp_rexmit_drop_options && (tp->t_state == TCPS_SYN_SENT) && | ||||
(tp->t_rxtshift == 3)) | (tp->t_rxtshift == 3)) | ||||
tp->t_flags &= ~(TF_REQ_SCALE|TF_REQ_TSTMP|TF_SACK_PERMIT); | tp->t_flags &= ~(TF_REQ_SCALE|TF_REQ_TSTMP|TF_SACK_PERMIT); | ||||
/* | /* | ||||
* If we backed off this far, our srtt estimate is probably bogus. | * If we backed off this far, notify the L3 protocol that we're having | ||||
* Clobber it so we'll take the next rtt measurement as our srtt; | * connection problems. | ||||
* move the current srtt into rttvar to keep the current | |||||
* retransmit times until then. | |||||
*/ | */ | ||||
if (tp->t_rxtshift > TCP_MAXRXTSHIFT / 4) { | if (tp->t_rxtshift > TCP_RTT_INVALIDATE) { | ||||
#ifdef INET6 | #ifdef INET6 | ||||
if ((tp->t_inpcb->inp_vflag & INP_IPV6) != 0) | if ((tp->t_inpcb->inp_vflag & INP_IPV6) != 0) | ||||
in6_losing(tp->t_inpcb); | in6_losing(tp->t_inpcb); | ||||
else | else | ||||
#endif | #endif | ||||
in_losing(tp->t_inpcb); | 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_nxt = tp->snd_una; | ||||
tp->snd_recover = tp->snd_max; | tp->snd_recover = tp->snd_max; | ||||
/* | /* | ||||
* Force a segment to be sent. | * Force a segment to be sent. | ||||
*/ | */ | ||||
tp->t_flags |= TF_ACKNOW; | tp->t_flags |= TF_ACKNOW; | ||||
/* | /* | ||||
▲ Show 20 Lines • Show All 168 Lines • Show Last 20 Lines |