The branch main has been updated by tuexen:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=d8496725c155e5454a872c8ff61fc7f14d57dc37

commit d8496725c155e5454a872c8ff61fc7f14d57dc37
Author:     Michael Tuexen <tue...@freebsd.org>
AuthorDate: 2025-06-16 14:17:59 +0000
Commit:     Michael Tuexen <tue...@freebsd.org>
CommitDate: 2025-06-16 14:17:59 +0000

    Revert "tcp: cleanup timer initialisations"
    
    This reverts commit c13f4b1574da77f89ab57cfcc87fe8ad80f25263.
    Using MSEC_2_TICKS() breaks compiling
    contrib/bsnmp/snmp_mibII/mibII_tcp.c
    since it includes tcp_timer.h in userland and MSEC_2_TICKS() is
    only defined for kernel land.
---
 sys/netinet/tcp_subr.c  |  4 ++++
 sys/netinet/tcp_timer.h | 24 ++++++++++++------------
 2 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c
index d82a54031a95..f766bf25ad66 100644
--- a/sys/netinet/tcp_subr.c
+++ b/sys/netinet/tcp_subr.c
@@ -1473,7 +1473,11 @@ tcp_init(void *arg __unused)
        tcp_keepintvl = TCPTV_KEEPINTVL;
        tcp_maxpersistidle = TCPTV_KEEP_IDLE;
        tcp_rexmit_initial = TCPTV_RTOBASE;
+       if (tcp_rexmit_initial < 1)
+               tcp_rexmit_initial = 1;
        tcp_rexmit_min = TCPTV_MIN;
+       if (tcp_rexmit_min < 1)
+               tcp_rexmit_min = 1;
        tcp_persmin = TCPTV_PERSMIN;
        tcp_persmax = TCPTV_PERSMAX;
        tcp_rexmit_slop = TCPTV_CPU_VAR;
diff --git a/sys/netinet/tcp_timer.h b/sys/netinet/tcp_timer.h
index 8e1c609fd575..a3ca268417ba 100644
--- a/sys/netinet/tcp_timer.h
+++ b/sys/netinet/tcp_timer.h
@@ -71,21 +71,21 @@
 /*
  * Time constants.
  */
-#define        TCPTV_MSL       MSEC_2_TICKS(30000)     /* max seg lifetime 
(hah!) */
+#define        TCPTV_MSL       ( 30*hz)                /* max seg lifetime 
(hah!) */
 #define        TCPTV_SRTTBASE  0                       /* base roundtrip time;
                                                   if 0, no idea yet */
-#define        TCPTV_RTOBASE   MSEC_2_TICKS(1000)      /* assumed RTO if no 
info */
+#define        TCPTV_RTOBASE   (  1*hz)                /* assumed RTO if no 
info */
 
-#define        TCPTV_PERSMIN   MSEC_2_TICKS(5000)      /* minimum persist 
interval */
-#define        TCPTV_PERSMAX   MSEC_2_TICKS(60000)     /* maximum persist 
interval */
+#define        TCPTV_PERSMIN   (  5*hz)                /* minimum persist 
interval */
+#define        TCPTV_PERSMAX   ( 60*hz)                /* maximum persist 
interval */
 
-#define        TCPTV_KEEP_INIT MSEC_2_TICKS(75000)     /* initial connect 
keepalive */
-#define        TCPTV_KEEP_IDLE MSEC_2_TICKS(120*60*1000)       /* dflt time 
before probing */
-#define        TCPTV_KEEPINTVL MSEC_2_TICKS(75000)     /* default probe 
interval */
+#define        TCPTV_KEEP_INIT ( 75*hz)                /* initial connect 
keepalive */
+#define        TCPTV_KEEP_IDLE (120*60*hz)             /* dflt time before 
probing */
+#define        TCPTV_KEEPINTVL ( 75*hz)                /* default probe 
interval */
 #define        TCPTV_KEEPCNT   8                       /* max probes before 
drop */
 #define        TCPTV_MAXUNACKTIME      0               /* max time without 
making progress */
 
-#define TCPTV_FINWAIT2_TIMEOUT MSEC_2_TICKS(60000)     /* FIN_WAIT_2 timeout 
if no receiver */
+#define TCPTV_FINWAIT2_TIMEOUT (60*hz)         /* FIN_WAIT_2 timeout if no 
receiver */
 
 /*
  * Minimum retransmit timer is 3 ticks, for algorithmic stability.
@@ -107,15 +107,15 @@
  * The prior minimum of 1*hz (1 second) badly breaks throughput on any
  * networks faster then a modem that has minor (e.g. 1%) packet loss.
  */
-#define        TCPTV_MIN       MSEC_2_TICKS(30)        /* minimum allowable 
value */
-#define        TCPTV_CPU_VAR   MSEC_2_TICKS(200)       /* cpu variance allowed 
(200ms) */
-#define        TCPTV_REXMTMAX  MSEC_2_TICKS(64000)     /* max allowable REXMT 
value */
+#define        TCPTV_MIN       ( hz/33 )               /* minimum allowable 
value */
+#define TCPTV_CPU_VAR  ( hz/5 )                /* cpu variance allowed (200ms) 
*/
+#define        TCPTV_REXMTMAX  ( 64*hz)                /* max allowable REXMT 
value */
 
 #define TCPTV_TWTRUNC  8                       /* RTO factor to truncate TW */
 
 #define        TCP_MAXRXTSHIFT 12                      /* maximum retransmits 
*/
 
-#define        TCPTV_DELACK    MSEC_2_TICKS(40)        /* 40ms timeout */
+#define        TCPTV_DELACK    ( hz/25 )               /* 40ms timeout */
 
 /*
  * If we exceed this number of retransmits for a single segment, we'll consider

Reply via email to