useless register declarations
[unix-history] / usr / src / sys / netinet / tcp_timer.c
index 3318bf0..6ee4c91 100644 (file)
@@ -3,7 +3,7 @@
  * All rights reserved.  The Berkeley software License Agreement
  * specifies the terms and conditions for redistribution.
  *
  * All rights reserved.  The Berkeley software License Agreement
  * specifies the terms and conditions for redistribution.
  *
- *     @(#)tcp_timer.c 7.6 (Berkeley) %G%
+ *     @(#)tcp_timer.c 7.8 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -159,7 +159,7 @@ tcp_timers(tp, timer)
                rexmt *= tcp_backoff[tp->t_rxtshift];
                tp->t_rxtshift++;
                TCPT_RANGESET(tp->t_timer[TCPT_REXMT], rexmt,
                rexmt *= tcp_backoff[tp->t_rxtshift];
                tp->t_rxtshift++;
                TCPT_RANGESET(tp->t_timer[TCPT_REXMT], rexmt,
-                           TCPTV_MIN, TCPTV_MAX);
+                           TCPTV_MIN, TCPTV_REXMTMAX);
                /*
                 * If losing, let the lower level know
                 * and try for a better route.
                /*
                 * If losing, let the lower level know
                 * and try for a better route.
@@ -221,8 +221,17 @@ tcp_timers(tp, timer)
                         * correspondent TCP to respond.
                         */
                        tcpstat.tcps_keepprobe++;
                         * correspondent TCP to respond.
                         */
                        tcpstat.tcps_keepprobe++;
+#ifdef TCP_COMPAT_42
+                       /*
+                        * The keepalive packet must have nonzero length
+                        * to get a 4.2 host to respond.
+                        */
                        tcp_respond(tp, tp->t_template,
                        tcp_respond(tp, tp->t_template,
-                           tp->rcv_nxt - tcp_keeplen, tp->snd_una - 1, 0);
+                           tp->rcv_nxt - 1, tp->snd_una - 1, 0);
+#else
+                       tcp_respond(tp, tp->t_template,
+                           tp->rcv_nxt, tp->snd_una - 1, 0);
+#endif
                }
                tp->t_timer[TCPT_KEEP] = TCPTV_KEEP;
                break;
                }
                tp->t_timer[TCPT_KEEP] = TCPTV_KEEP;
                break;