aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet
diff options
context:
space:
mode:
authorMatthew Dillon <dillon@FreeBSD.org>2002-07-17 23:32:03 +0000
committerMatthew Dillon <dillon@FreeBSD.org>2002-07-17 23:32:03 +0000
commit22fd54d46180332b7d3d1e8c4ed609b15330f80e (patch)
tree0c76fc8bf55fc9eadf73e300e965a4172f827b96 /sys/netinet
parent3aabf3e27d426549bbafd7ddafc0d18e1c3b27b0 (diff)
downloadsrc-22fd54d46180332b7d3d1e8c4ed609b15330f80e.tar.gz
src-22fd54d46180332b7d3d1e8c4ed609b15330f80e.zip
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
Notes
Notes: svn path=/head/; revision=100270
Diffstat (limited to 'sys/netinet')
-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 ff86d2add449..94c8a5e17f99 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 */