Changeset View
Changeset View
Standalone View
Standalone View
head/sys/netinet/tcp_timer.c
Show First 20 Lines • Show All 687 Lines • ▼ Show 20 Lines | if (tp->t_state == TCPS_SYN_SENT) { | ||||
if (IN_FASTRECOVERY(tp->t_flags)) | if (IN_FASTRECOVERY(tp->t_flags)) | ||||
tp->t_flags |= TF_WASFRECOVERY; | tp->t_flags |= TF_WASFRECOVERY; | ||||
else | else | ||||
tp->t_flags &= ~TF_WASFRECOVERY; | tp->t_flags &= ~TF_WASFRECOVERY; | ||||
if (IN_CONGRECOVERY(tp->t_flags)) | if (IN_CONGRECOVERY(tp->t_flags)) | ||||
tp->t_flags |= TF_WASCRECOVERY; | tp->t_flags |= TF_WASCRECOVERY; | ||||
else | else | ||||
tp->t_flags &= ~TF_WASCRECOVERY; | tp->t_flags &= ~TF_WASCRECOVERY; | ||||
if ((tp->t_flags & TF_RCVD_TSTMP) == 0) | |||||
tp->t_badrxtwin = ticks + (tp->t_srtt >> (TCP_RTT_SHIFT + 1)); | tp->t_badrxtwin = ticks + (tp->t_srtt >> (TCP_RTT_SHIFT + 1)); | ||||
/* In the event that we've negotiated timestamps | |||||
* badrxtwin will be set to the value that we set | |||||
* the retransmitted packet's to_tsval to by tcp_output | |||||
*/ | |||||
tp->t_flags |= TF_PREVVALID; | tp->t_flags |= TF_PREVVALID; | ||||
} else | } else | ||||
tp->t_flags &= ~TF_PREVVALID; | tp->t_flags &= ~TF_PREVVALID; | ||||
TCPSTAT_INC(tcps_rexmttimeo); | TCPSTAT_INC(tcps_rexmttimeo); | ||||
if ((tp->t_state == TCPS_SYN_SENT) || | if ((tp->t_state == TCPS_SYN_SENT) || | ||||
(tp->t_state == TCPS_SYN_RECEIVED)) | (tp->t_state == TCPS_SYN_RECEIVED)) | ||||
rexmt = TCPTV_RTOBASE * tcp_syn_backoff[tp->t_rxtshift]; | rexmt = TCPTV_RTOBASE * tcp_syn_backoff[tp->t_rxtshift]; | ||||
else | else | ||||
▲ Show 20 Lines • Show All 284 Lines • Show Last 20 Lines |