aboutsummaryrefslogtreecommitdiffstats
path: root/man7/tcp.7
diff options
context:
space:
mode:
authorMichael Kerrisk <mtk.manpages@gmail.com>2008-11-21 14:26:56 -0500
committerMichael Kerrisk <mtk.manpages@gmail.com>2008-11-25 20:54:15 -0500
commitccaf91b50b0ed4af2fe95b8f54ba3688dc90011c (patch)
treec94005180db020490c33ea45c817f6ec26226a93 /man7/tcp.7
parentcac74e26a1e4d1ab5d01f20f32b950fada579383 (diff)
downloadman-pages-ccaf91b50b0ed4af2fe95b8f54ba3688dc90011c.tar.gz
tcp.7: Add kernel version numbers for each /proc interface
Note kernel version where each /proc interface first appeared Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
Diffstat (limited to 'man7/tcp.7')
-rw-r--r--man7/tcp.7116
1 files changed, 77 insertions, 39 deletions
diff --git a/man7/tcp.7 b/man7/tcp.7
index 5d3bd285e6..43251e7b8d 100644
--- a/man7/tcp.7
+++ b/man7/tcp.7
@@ -11,7 +11,7 @@
.\" FIXME 2.6.17-rc1 adds the following /proc files, which need to be
.\" documented: tcp_workaround_signed_windows
.\"
-.TH TCP 7 2008-11-20 "Linux" "Linux Programmer's Manual"
+.TH TCP 7 2008-11-21 "Linux" "Linux Programmer's Manual"
.SH NAME
tcp \- TCP protocol
.SH SYNOPSIS
@@ -198,7 +198,8 @@ by two if acknowledgment is
of two segments to compensate for delayed acknowledgments.
.RE
.TP
-.IR tcp_abort_on_overflow " (Boolean; default: disabled)"
+.IR tcp_abort_on_overflow " (Boolean; default: disabled; since Linux 2.4)"
+.\" Since 2.3.41
Enable resetting connections if the listening service is too
slow and unable to keep up and accept them.
It means that if overflow occurred due
@@ -210,7 +211,8 @@ cannot be tuned to accept connections faster.
Enabling this
option can harm the clients of your server.
.TP
-.IR tcp_adv_win_scale " (integer; default: 2)"
+.IR tcp_adv_win_scale " (integer; default: 2; since Linux 2.4)"
+.\" Since 2.4.0-test7
Count buffering overhead as
.IR "bytes/2^tcp_adv_win_scale" ,
if
@@ -257,7 +259,8 @@ This list is a limiting set for the list in
More congestion-control algorithms may be available as modules,
but not loaded.
.TP
-.IR tcp_app_win " (integer; default: 31)"
+.IR tcp_app_win " (integer; default: 31; since Linux 2.4)"
+.\" Since 2.4.0-test7
This variable defines how many
bytes of the TCP window are reserved for buffering
overhead.
@@ -279,7 +282,8 @@ this is the initial MSS used by the connection.
.\"
.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_bic " (Boolean; default: disabled)"
+.IR tcp_bic " (Boolean; default: disabled; since Linux 2.4.27/2.6.6)"
+.\" Since 2.4.27/2.6.6
Enable BIC TCP congestion control algorithm.
BIC-TCP is a sender-side only change that ensures a linear RTT
fairness under large windows while offering both scalability and
@@ -295,7 +299,8 @@ increase provides TCP friendliness.
.\"
.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_bic_low_window " (integer; default: 14)"
+.IR tcp_bic_low_window " (integer; default: 14; since Linux 2.4.27/2.6.6)"
+.\" Since 2.4.27/2.6.6
Sets the threshold window (in packets) where BIC TCP starts to
adjust the congestion window.
Below this threshold BIC TCP behaves
@@ -303,7 +308,8 @@ the same as the default TCP Reno.
.\"
.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_bic_fast_convergence " (Boolean; default: enabled)"
+.IR tcp_bic_fast_convergence " (Boolean; default: enabled; since Linux 2.4.27/2.6.6)"
+.\" Since 2.4.27/2.6.6
Forces BIC TCP to more quickly respond to changes in congestion
window.
Allows two flows sharing the same connection to converge
@@ -316,19 +322,23 @@ The algorithm "reno" is always available,
but additional choices may be available depending on kernel configuration.
The default value for this file is set as part of kernel configuration.
.TP
-.IR tcp_dsack " (Boolean; default: enabled)"
+.IR tcp_dsack " (Boolean; default: enabled; since Linux 2.4)"
+.\" Since 2.4.0-test7
Enable RFC\ 2883 TCP Duplicate SACK support.
.TP
-.IR tcp_ecn " (Boolean; default: disabled)"
+.IR tcp_ecn " (Boolean; default: disabled; since Linux 2.4)"
+.\" Since 2.4.0-test7
Enable RFC\ 2884 Explicit Congestion Notification.
When enabled, connectivity to some
destinations could be affected due to older, misbehaving
routers along the path causing connections to be dropped.
.TP
-.IR tcp_fack " (Boolean; default: enabled)"
+.IR tcp_fack " (Boolean; default: enabled; since Linux 2.2)"
+.\" Since 2.1.92
Enable TCP Forward Acknowledgement support.
.TP
-.IR tcp_fin_timeout " (integer; default: 60)"
+.IR tcp_fin_timeout " (integer; default: 60; since Linux 2.2)"
+.\" Since 2.1.53
This specifies how many seconds to wait for a final FIN packet before the
socket is forcibly closed.
This is strictly a violation of
@@ -338,7 +348,8 @@ In Linux 2.2, the default value was 180.
.\"
.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_frto " (Boolean; default: disabled)"
+.IR tcp_frto " (Boolean; default: disabled; since Linux 2.4.21/2.6)"
+.\" Since 2.4.21/2.5.43
Enables F-RTO, an enhanced recovery algorithm for TCP retransmission
timeouts (RTOs).
It is particularly beneficial in wireless environments
@@ -346,15 +357,18 @@ where packet loss is typically due to random radio interference
rather than intermediate router congestion.
See RFC 4138 for more details.
.TP
-.IR tcp_keepalive_intvl " (integer; default: 75)"
+.IR tcp_keepalive_intvl " (integer; default: 75; since Linux 2.4)"
+.\" Since 2.3.18
The number of seconds between TCP keep-alive probes.
.TP
-.IR tcp_keepalive_probes " (integer; default: 9)"
+.IR tcp_keepalive_probes " (integer; default: 9; since Linux 2.2)"
+.\" Since 2.1.43
The maximum number of TCP keep-alive probes to send
before giving up and killing the connection if
no response is obtained from the other end.
.TP
-.IR tcp_keepalive_time " (integer; default: 7200)"
+.IR tcp_keepalive_time " (integer; default: 7200; since Linux 2.2)"
+.\" Since 2.1.43
The number of seconds a connection needs to be idle
before TCP begins sending out keep-alive probes.
Keep-alives are only sent when the
@@ -370,14 +384,16 @@ application timeouts may be much shorter.
.\"
.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_low_latency " (Boolean; default: disabled)"
+.IR tcp_low_latency " (Boolean; default: disabled; since Linux 2.4.21/2.6)"
+.\" Since 2.4.21/2.5.60
If enabled, the TCP stack makes decisions that prefer lower
latency as opposed to higher throughput.
It this option is disabled, then higher throughput is preferred.
An example of an application where this default should be
changed would be a Beowulf compute cluster.
.TP
-.IR tcp_max_orphans " (integer; default: see below)"
+.IR tcp_max_orphans " (integer; default: see below; since Linux 2.4)"
+.\" Since 2.3.41
The maximum number of orphaned (not attached to any user file
handle) TCP sockets allowed in the system.
When this number
@@ -392,7 +408,8 @@ The default initial value is set
equal to the kernel parameter NR_FILE.
This initial default is adjusted depending on the memory in the system.
.TP
-.IR tcp_max_syn_backlog " (integer; default: see below)"
+.IR tcp_max_syn_backlog " (integer; default: see below; since Linux 2.2)"
+.\" Since 2.1.53
The maximum number of queued connection requests which have
still not received an acknowledgement from the connecting client.
If this number is exceeded, the kernel will begin
@@ -415,7 +432,8 @@ attempting to automatically size the buffer (no greater than
.IR tcp_rmem[2] )
to match the size required by the path for full throughput.
.TP
-.IR tcp_max_tw_buckets " (integer; default: see below)"
+.IR tcp_max_tw_buckets " (integer; default: see below; since Linux 2.4)"
+.\" Since 2.3.41
The maximum number of sockets in TIME_WAIT state allowed in
the system.
This limit exists only to prevent simple denial-of-service
@@ -425,7 +443,8 @@ depending on the memory in the system.
If this number is
exceeded, the socket is closed and a warning is printed.
.TP
-.I tcp_mem
+.IR tcp_mem " (since Linux 2.4)
+.\" Since 2.4.0-test7
This is a vector of 3 integers: [low, pressure, high].
These bounds are used by TCP to track its memory usage.
The
@@ -480,11 +499,13 @@ If
.I tcp_no_metrics_save
is enabled, TCP will not cache metrics on closing connections.
.TP
-.IR tcp_orphan_retries " (integer; default: 8)"
+.IR tcp_orphan_retries " (integer; default: 8; since Linux 2.4)"
+.\" Since 2.3.41
The maximum number of attempts made to probe the other
end of a connection which has been closed by our end.
.TP
-.IR tcp_reordering " (integer; default: 3)"
+.IR tcp_reordering " (integer; default: 3; since Linux 2.4)"
+.\" Since 2.4.0-test7
The maximum a packet can be reordered in a TCP packet stream
without TCP assuming packet loss and going into slow start.
It is not advisable to change this number.
@@ -492,10 +513,12 @@ This is a packet reordering detection metric designed to
minimize unnecessary back off and retransmits provoked by
reordering of packets on a connection.
.TP
-.IR tcp_retrans_collapse " (Boolean; default: enabled)"
+.IR tcp_retrans_collapse " (Boolean; default: enabled; since Linux 2.2)"
+.\" Since 2.1.96
Try to send full-sized packets during retransmit.
.TP
-.IR tcp_retries1 " (integer; default: 3)"
+.IR tcp_retries1 " (integer; default: 3; since Linux 2.2)"
+.\" Since 2.1.43
The number of times TCP will attempt to retransmit a
packet on an established connection normally,
without the extra effort of getting the network
@@ -505,7 +528,8 @@ retransmits, we first have the network layer
update the route if possible before each new retransmit.
The default is the RFC specified minimum of 3.
.TP
-.IR tcp_retries2 " (integer; default: 15)"
+.IR tcp_retries2 " (integer; default: 15; since Linux 2.2)"
+.\" Since 2.1.43
The maximum number of times a TCP packet is retransmitted
in established state before giving up.
The default
@@ -516,14 +540,16 @@ The RFC\ 1122 specified
minimum limit of 100 seconds is typically deemed too
short.
.TP
-.IR tcp_rfc1337 " (Boolean; default: disabled)"
+.IR tcp_rfc1337 " (Boolean; default: disabled; since Linux 2.2)"
+.\" Since 2.1.90
Enable TCP behavior conformant with RFC\ 1337.
When disabled,
if a RST is received in TIME_WAIT state, we close
the socket immediately without waiting for the end
of the TIME_WAIT period.
.TP
-.I tcp_rmem
+.IR tcp_rmem " (since Linux 2.4)"
+.\" Since 2.4.0-test7
This is a vector of 3 integers: [min, default,
max].
These parameters are used by TCP to regulate receive
@@ -585,10 +611,12 @@ the current RTO (retransmission timeout).
If disabled, the congestion window will not
be timed out after an idle period.
.TP
-.IR tcp_sack " (Boolean; default: enabled)"
+.IR tcp_sack " (Boolean; default: enabled; since Linux 2.2)"
+.\" Since 2.1.36
Enable RFC\ 2018 TCP Selective Acknowledgements.
.TP
-.IR tcp_stdurg " (Boolean; default: disabled)"
+.IR tcp_stdurg " (Boolean; default: disabled; since Linux 2.2)"
+.\" Since 2.1.44
If this option is enabled, then use the RFC\ 1122 interpretation
of the TCP urgent-pointer field.
.\" RFC 793 was ambiguous in its specification of the meaning of the
@@ -601,12 +629,14 @@ the urgent pointer:
the urgent pointer points to the first byte after the urgent data.
Enabling this option may lead to interoperability problems.
.TP
-.IR tcp_synack_retries " (integer; default: 5)"
+.IR tcp_synack_retries " (integer; default: 5; since Linux 2.2)"
+.\" Since 2.1.38
The maximum number of times a SYN/ACK segment
for a passive TCP connection will be retransmitted.
This number should not be higher than 255.
.TP
-.IR tcp_syncookies " (Boolean)"
+.IR tcp_syncookies " (Boolean; since Linux 2.2)"
+.\" Since 2.1.43
Enable TCP syncookies.
The kernel must be compiled with
.BR CONFIG_SYN_COOKIES .
@@ -629,7 +659,8 @@ For recommended alternatives see
and
.IR tcp_abort_on_overflow .
.TP
-.IR tcp_syn_retries " (integer; default: 5)"
+.IR tcp_syn_retries " (integer; default: 5; since Linux 2.2)"
+.\" Since 2.1.38
The maximum number of times initial SYNs for an active TCP
connection attempt will be retransmitted.
This value should
@@ -637,10 +668,12 @@ not be higher than 255.
The default value is 5, which
corresponds to approximately 180 seconds.
.TP
-.IR tcp_timestamps " (Boolean; default: enabled)"
+.IR tcp_timestamps " (Boolean; default: enabled; since Linux 2.2)"
+.\" Since 2.1.36
Enable RFC\ 1323 TCP timestamps.
.TP
-.IR tcp_tw_recycle " (Boolean; default: disabled)"
+.IR tcp_tw_recycle " (Boolean; default: disabled; since Linux 2.4)"
+.\" Since 2.3.15
Enable fast recycling of TIME_WAIT sockets.
Enabling this option is not
recommended since this causes problems when working
@@ -648,13 +681,15 @@ with NAT (Network Address Translation).
.\"
.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_tw_reuse " (Boolean; default: disabled)"
+.IR tcp_tw_reuse " (Boolean; default: disabled; since Linux 2.4.19/2.6)"
+.\" Since 2.4.19/2.5.43
Allow to reuse TIME_WAIT sockets for new connections when it is
safe from protocol viewpoint.
It should not be changed without advice/request of technical
experts.
.TP
-.IR tcp_window_scaling " (Boolean; default: enabled)"
+.IR tcp_window_scaling " (Boolean; default: enabled; since Linux 2.2)"
+.\" Since 2.1.36
Enable RFC\ 1323 TCP window scaling.
This feature allows the use of a large window
(> 64K) on a TCP connection, should the other end support it.
@@ -671,7 +706,8 @@ scaling with the other end during connection setup.
.\"
.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_vegas_cong_avoid " (Boolean; default: disabled)"
+.IR tcp_vegas_cong_avoid " (Boolean; default: disabled; since Linux 2.2)"
+.\" Since 2.1.8
Enable TCP Vegas congestion avoidance algorithm.
TCP Vegas is a sender-side only change to TCP that anticipates
the onset of congestion by estimating the bandwidth.
@@ -683,7 +719,8 @@ not as aggressive as TCP Reno.
.\"
.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_westwood " (Boolean; default: disabled)"
+.IR tcp_westwood " (Boolean; default: disabled; since Linux 2.4.26/2.6.3)"
+.\" Since 2.4.26/2.6.3
Enable TCP Westwood+ congestion control algorithm.
TCP Westwood+ is a sender-side only modification of the TCP Reno
protocol stack that optimizes the performance of TCP congestion
@@ -697,7 +734,8 @@ account the bandwidth used at the time congestion is experienced.
TCP Westwood+ significantly increases fairness with respect to
TCP Reno in wired networks and throughput over wireless links.
.TP
-.I tcp_wmem
+.IR tcp_wmem " (since Linux 2.4)"
+.\" Since 2.4.0-test7
This is a vector of 3 integers: [min, default, max].
These parameters are used by TCP to regulate send buffer sizes.
TCP dynamically adjusts the size of the send buffer from the