- if (tp->t_rxtshift > TCP_MAXRXTSHIFT / 2)
- in_rtchange(tp->t_inpcb);
- TCPT_RANGESET(tp->t_timer[TCPT_REXMT],
- (int)tp->t_srtt, TCPTV_MIN, TCPTV_MAX);
- if (tcpexprexmtbackoff) {
- TCPT_RANGESET(tp->t_timer[TCPT_REXMT],
- tp->t_timer[TCPT_REXMT] << tp->t_rxtshift,
- TCPTV_MIN, TCPTV_MAX);
- } else {
- TCPT_RANGESET(tp->t_timer[TCPT_REXMT],
- tp->t_timer[TCPT_REXMT] *
- tcp_backoff[tp->t_rxtshift - 1],
- TCPTV_MIN, TCPTV_MAX);
- }
+ if (tp->t_rxtshift >= TCP_MAXRXTSHIFT / 4 ||
+ rexmt >= 10 * PR_SLOWHZ)
+ in_losing(tp->t_inpcb);