diff options
author | Andre Oppermann <andre@FreeBSD.org> | 2004-08-03 13:54:11 +0000 |
---|---|---|
committer | Andre Oppermann <andre@FreeBSD.org> | 2004-08-03 13:54:11 +0000 |
commit | 24a098ea9b6cc393ae05494777b8b8ffb5d2fd65 (patch) | |
tree | d2ae0fcd9dd70b9c3590ae31546991a64a1933ba | |
parent | 9bafcc1adbbe5d592a208e943823d9989b183c00 (diff) | |
download | src-24a098ea9b6cc393ae05494777b8b8ffb5d2fd65.tar.gz src-24a098ea9b6cc393ae05494777b8b8ffb5d2fd65.zip |
o Move the inflight sysctls to their own sub-tree under net.inet.tcp to be
more consistent with the other sysctls around it.
Notes
Notes:
svn path=/head/; revision=133072
-rw-r--r-- | share/man/man4/tcp.4 | 18 | ||||
-rw-r--r-- | sys/netinet/tcp_subr.c | 14 | ||||
-rw-r--r-- | sys/netinet/tcp_timewait.c | 14 |
3 files changed, 27 insertions, 19 deletions
diff --git a/share/man/man4/tcp.4 b/share/man/man4/tcp.4 index b033e287efa3..d9adfebf0e22 100644 --- a/share/man/man4/tcp.4 +++ b/share/man/man4/tcp.4 @@ -382,7 +382,7 @@ code. For this reason, we use 200ms of slop and a near-0 minimum, which gives us an effective minimum of 200ms (similar to .Tn Linux ) . -.It Va inflight_enable +.It Va inflight.enable Enable .Tn TCP bandwidth-delay product limiting. @@ -406,20 +406,20 @@ Note that bandwidth-delay product limiting only effects the transmit side of a .Tn TCP connection. -.It Va inflight_debug +.It Va inflight.debug Enable debugging for the bandwidth-delay product algorithm. This may default to on (1), so if you enable the algorithm, you should probably also disable debugging by setting this variable to 0. -.It Va inflight_min +.It Va inflight.min This puts a lower bound on the bandwidth-delay product window, in bytes. A value of 1024 is typically used for debugging. 6000-16000 is more typical in a production installation. Setting this value too low may result in slow ramp-up times for bursty connections. Setting this value too high effectively disables the algorithm. -.It Va inflight_max +.It Va inflight.max This puts an upper bound on the bandwidth-delay product window, in bytes. This value should not generally be modified, but may be used to set a global per-connection limit on queued data, potentially allowing you to @@ -427,7 +427,7 @@ intentionally set a less than optimum limit, to smooth data flow over a network while still being able to specify huge internal .Tn TCP buffers. -.It Va inflight_stab +.It Va inflight.stab The bandwidth-delay product algorithm requires a slightly larger window than it otherwise calculates for stability. This parameter determines the extra window in maximal packets / 10. @@ -438,17 +438,17 @@ come across a situation with very slow links where the time reduction of the default inflight code is not sufficient. If this case occurs, you should first try reducing -.Va inflight_min +.Va inflight.min and, if that does not work, reduce both -.Va inflight_min +.Va inflight.min and -.Va inflight_stab , +.Va inflight.stab , trying values of 15, 10, or 5 for the latter. Never use a value less than 5. Reducing -.Va inflight_stab +.Va inflight.stab can lead to upwards of a 20% underutilization of the link as well as reducing the algorithm's ability to adapt to changing situations and should only be done as a last resort. diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 2064df6e6b65..1e23552ec2a7 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -183,23 +183,27 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, isn_reseed_interval, CTLFLAG_RW, * 1024 exists only for debugging. A good production default would be * something like 6100. */ +SYSCTL_NODE(_net_inet_tcp, OID_AUTO, inflight, CTLFLAG_RW, 0, + "TCP inflight data limiting"); + static int tcp_inflight_enable = 1; -SYSCTL_INT(_net_inet_tcp, OID_AUTO, inflight_enable, CTLFLAG_RW, +SYSCTL_INT(_net_inet_tcp_inflight, OID_AUTO, enable, CTLFLAG_RW, &tcp_inflight_enable, 0, "Enable automatic TCP inflight data limiting"); static int tcp_inflight_debug = 0; -SYSCTL_INT(_net_inet_tcp, OID_AUTO, inflight_debug, CTLFLAG_RW, +SYSCTL_INT(_net_inet_tcp_inflight, OID_AUTO, debug, CTLFLAG_RW, &tcp_inflight_debug, 0, "Debug TCP inflight calculations"); static int tcp_inflight_min = 6144; -SYSCTL_INT(_net_inet_tcp, OID_AUTO, inflight_min, CTLFLAG_RW, +SYSCTL_INT(_net_inet_tcp_inflight, OID_AUTO, min, CTLFLAG_RW, &tcp_inflight_min, 0, "Lower-bound for TCP inflight window"); static int tcp_inflight_max = TCP_MAXWIN << TCP_MAX_WINSHIFT; -SYSCTL_INT(_net_inet_tcp, OID_AUTO, inflight_max, CTLFLAG_RW, +SYSCTL_INT(_net_inet_tcp_inflight, OID_AUTO, max, CTLFLAG_RW, &tcp_inflight_max, 0, "Upper-bound for TCP inflight window"); + static int tcp_inflight_stab = 20; -SYSCTL_INT(_net_inet_tcp, OID_AUTO, inflight_stab, CTLFLAG_RW, +SYSCTL_INT(_net_inet_tcp_inflight, OID_AUTO, stab, CTLFLAG_RW, &tcp_inflight_stab, 0, "Inflight Algorithm Stabilization 20 = 2 packets"); SYSCTL_NODE(_net_inet_tcp, OID_AUTO, sack, CTLFLAG_RW, 0, "TCP SACK"); diff --git a/sys/netinet/tcp_timewait.c b/sys/netinet/tcp_timewait.c index 2064df6e6b65..1e23552ec2a7 100644 --- a/sys/netinet/tcp_timewait.c +++ b/sys/netinet/tcp_timewait.c @@ -183,23 +183,27 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, isn_reseed_interval, CTLFLAG_RW, * 1024 exists only for debugging. A good production default would be * something like 6100. */ +SYSCTL_NODE(_net_inet_tcp, OID_AUTO, inflight, CTLFLAG_RW, 0, + "TCP inflight data limiting"); + static int tcp_inflight_enable = 1; -SYSCTL_INT(_net_inet_tcp, OID_AUTO, inflight_enable, CTLFLAG_RW, +SYSCTL_INT(_net_inet_tcp_inflight, OID_AUTO, enable, CTLFLAG_RW, &tcp_inflight_enable, 0, "Enable automatic TCP inflight data limiting"); static int tcp_inflight_debug = 0; -SYSCTL_INT(_net_inet_tcp, OID_AUTO, inflight_debug, CTLFLAG_RW, +SYSCTL_INT(_net_inet_tcp_inflight, OID_AUTO, debug, CTLFLAG_RW, &tcp_inflight_debug, 0, "Debug TCP inflight calculations"); static int tcp_inflight_min = 6144; -SYSCTL_INT(_net_inet_tcp, OID_AUTO, inflight_min, CTLFLAG_RW, +SYSCTL_INT(_net_inet_tcp_inflight, OID_AUTO, min, CTLFLAG_RW, &tcp_inflight_min, 0, "Lower-bound for TCP inflight window"); static int tcp_inflight_max = TCP_MAXWIN << TCP_MAX_WINSHIFT; -SYSCTL_INT(_net_inet_tcp, OID_AUTO, inflight_max, CTLFLAG_RW, +SYSCTL_INT(_net_inet_tcp_inflight, OID_AUTO, max, CTLFLAG_RW, &tcp_inflight_max, 0, "Upper-bound for TCP inflight window"); + static int tcp_inflight_stab = 20; -SYSCTL_INT(_net_inet_tcp, OID_AUTO, inflight_stab, CTLFLAG_RW, +SYSCTL_INT(_net_inet_tcp_inflight, OID_AUTO, stab, CTLFLAG_RW, &tcp_inflight_stab, 0, "Inflight Algorithm Stabilization 20 = 2 packets"); SYSCTL_NODE(_net_inet_tcp, OID_AUTO, sack, CTLFLAG_RW, 0, "TCP SACK"); |