summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_timer.h
diff options
context:
space:
mode:
authordillon <dillon@FreeBSD.org>2002-07-17 23:32:03 +0000
committerdillon <dillon@FreeBSD.org>2002-07-17 23:32:03 +0000
commitf7ed3f73322c863f0f06500aab654100411cb9f7 (patch)
tree0c76fc8bf55fc9eadf73e300e965a4172f827b96 /sys/netinet/tcp_timer.h
parent0bbdc51f985c3eb03c8db23a83aa4a263e43f3ad (diff)
downloadFreeBSD-src-f7ed3f73322c863f0f06500aab654100411cb9f7.zip
FreeBSD-src-f7ed3f73322c863f0f06500aab654100411cb9f7.tar.gz
I don't know how the minimum retransmit timeout managed to get set to
one second but it badly breaks throughput on networks with minor packet loss. Complaints by: at least two people tracked down to this. MFC after: 3 days
Diffstat (limited to 'sys/netinet/tcp_timer.h')
-rw-r--r--sys/netinet/tcp_timer.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/netinet/tcp_timer.h b/sys/netinet/tcp_timer.h
index ff86d2a..94c8a5e 100644
--- a/sys/netinet/tcp_timer.h
+++ b/sys/netinet/tcp_timer.h
@@ -90,7 +90,13 @@
#define TCPTV_KEEPINTVL ( 75*hz) /* default probe interval */
#define TCPTV_KEEPCNT 8 /* max probes before drop */
-#define TCPTV_MIN ( 1*hz) /* minimum allowable value */
+/*
+ * Minimum retransmit timer is 3 ticks, for algorithmic stability.
+ * The maximum is 64 seconds. 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 ( 3 ) /* minimum allowable value */
#define TCPTV_REXMTMAX ( 64*hz) /* max allowable REXMT value */
#define TCPTV_TWTRUNC 8 /* RTO factor to truncate TW */
OpenPOWER on IntegriCloud