aboutsummaryrefslogtreecommitdiffstats
path: root/man7/tcp.7
diff options
context:
space:
mode:
Diffstat (limited to 'man7/tcp.7')
-rw-r--r--man7/tcp.757
1 files changed, 29 insertions, 28 deletions
diff --git a/man7/tcp.7 b/man7/tcp.7
index c80d628a8d..97fb474b05 100644
--- a/man7/tcp.7
+++ b/man7/tcp.7
@@ -12,6 +12,7 @@
.\" documented: tcp_mtu_probing, tcp_base_mss, and
.\" tcp_workaround_signed_windows
.\"
+.\" FIXME Section titles and orderings in this page are very inconsistent
.TH TCP 7 2005-06-15 "Linux" "Linux Programmer's Manual"
.SH NAME
tcp \- TCP protocol
@@ -152,7 +153,7 @@ Some of these features include support for zero-copy
Explicit Congestion Notification, new
management of TIME_WAIT sockets, keep-alive socket options
and support for Duplicate SACK extensions.
-.SH "ADDRESS FORMATS"
+.SS Address Formats
TCP is built on top of IP (see
.BR ip (7)).
The address formats defined by
@@ -161,7 +162,7 @@ apply to TCP.
TCP only supports point-to-point
communication; broadcasting and multicasting are not
supported.
-.SH SYSCTLS
+.SS Sysctls
These variables can be accessed by the
.I /proc/sys/net/ipv4/*
files or with the
@@ -635,7 +636,7 @@ on a socket.
The default value is 128K bytes.
It is lowered to 64K
depending on the memory available in the system.
-.SH "SOCKET OPTIONS"
+.SS Socket Options
To set or get a TCP socket option, call
.BR getsockopt (2)
to read or
@@ -765,7 +766,7 @@ Bound the size of the advertised window to this value.
The kernel imposes a minimum size of SOCK_MIN_RCVBUF/2.
This option should not be used in code intended to be
portable.
-.SH IOCTLS
+.SS Ioctls
These following
.BR ioctl (2)
calls return information in
@@ -826,7 +827,7 @@ returns false.
Returns the amount of unsent data in the socket send queue.
The socket must not be in LISTEN state, otherwise an error (EINVAL)
is returned.
-.SH "ERROR HANDLING"
+.SS Error Handling
When a network error occurs, TCP tries to resend the packet.
If it doesn't succeed after some time, either
.B ETIMEDOUT
@@ -843,22 +844,6 @@ errors are immediately passed to the user program.
Use this
option with care \(em it makes TCP less tolerant to routing
changes and other normal network conditions.
-.SH NOTES
-TCP has no real out-of-band data; it has urgent data.
-In Linux this means if the other end sends newer out-of-band
-data the older urgent data is inserted as normal data into
-the stream (even when
-.B SO_OOBINLINE
-is not set).
-This differs from BSD-based stacks.
-.PP
-Linux uses the BSD compatible interpretation of the urgent
-pointer field by default.
-This violates RFC\ 1122, but is
-required for interoperability with other stacks.
-It can be changed by the
-.B tcp_stdurg
-sysctl.
.SH ERRORS
.TP
.B EPIPE
@@ -878,13 +863,6 @@ was not
Any errors defined for
.BR ip (7)
or the generic socket layer may also be returned for TCP.
-.SH BUGS
-Not all errors are documented.
-.br
-IPv6 is not described.
-.\" Only a single Linux kernel version is described
-.\" Info for 2.2 was lost. Should be added again,
-.\" or put into a separate page.
.SH VERSIONS
Support for Explicit Congestion Notification, zero-copy
.BR sendfile (2),
@@ -896,6 +874,29 @@ were introduced in 2.3.
The default values and descriptions for the sysctl variables
given above are applicable for the 2.4 kernel.
+.SH NOTES
+TCP has no real out-of-band data; it has urgent data.
+In Linux this means if the other end sends newer out-of-band
+data the older urgent data is inserted as normal data into
+the stream (even when
+.B SO_OOBINLINE
+is not set).
+This differs from BSD-based stacks.
+.PP
+Linux uses the BSD compatible interpretation of the urgent
+pointer field by default.
+This violates RFC\ 1122, but is
+required for interoperability with other stacks.
+It can be changed by the
+.B tcp_stdurg
+sysctl.
+.SH BUGS
+Not all errors are documented.
+.br
+IPv6 is not described.
+.\" Only a single Linux kernel version is described
+.\" Info for 2.2 was lost. Should be added again,
+.\" or put into a separate page.
.\" .SH AUTHORS
.\" This man page was originally written by Andi Kleen.
.\" It was updated for 2.4 by Nivedita Singhvi with input from