+ /*
+ * Retransmission timer went off. Message has not
+ * been acked within retransmit interval. Back off
+ * to a longer retransmit interval and retransmit all
+ * unacknowledged messages in the window.
+ */
+ case TCPT_REXMT:
+ tp->t_rxtshift++;
+ TCPT_RANGESET(tp->t_timer[TCPT_REXMT],
+ ((int)(2 * tp->t_srtt)) << tp->t_rxtshift,
+ TCPTV_MIN, TCPTV_MAX);
+printf("rexmt set to %d\n", tp->t_timer[TCPT_REXMT]);
+ tp->snd_nxt = tp->snd_una;
+ /* this only transmits one segment! */
+ (void) tcp_output(tp);
+ return;