|
|
1bb262 |
From 14336b7b4c70b3def333ae78e654e8919107176b Mon Sep 17 00:00:00 2001
|
|
|
1bb262 |
From: =?UTF-8?q?Nikola=20Forr=C3=B3?= <nforro@redhat.com>
|
|
|
1bb262 |
Date: Tue, 28 Jun 2016 13:50:57 +0200
|
|
|
1bb262 |
Subject: [PATCH 13/17] tcp.7: document TCP_USER_TIMEOUT
|
|
|
1bb262 |
|
|
|
1bb262 |
---
|
|
|
1bb262 |
man-pages/man7/tcp.7 | 48 +++++++++++++++++++++++++++++++++++++++++++++---
|
|
|
1bb262 |
1 file changed, 45 insertions(+), 3 deletions(-)
|
|
|
1bb262 |
|
|
|
1bb262 |
diff --git a/man-pages/man7/tcp.7 b/man-pages/man7/tcp.7
|
|
|
1bb262 |
index 93b4148..98ccf27 100644
|
|
|
1bb262 |
--- a/man-pages/man7/tcp.7
|
|
|
1bb262 |
+++ b/man-pages/man7/tcp.7
|
|
|
1bb262 |
@@ -46,9 +46,6 @@
|
|
|
1bb262 |
.\" TCP_THIN_DUPACK (2..6.34)
|
|
|
1bb262 |
.\" commit 7e38017557bc0b87434d184f8804cadb102bb903
|
|
|
1bb262 |
.\" Author: Andreas Petlund <apetlund@simula.no>
|
|
|
1bb262 |
-.\" TCP_USER_TIMEOUT (new in 2.6.37)
|
|
|
1bb262 |
-.\" Author: Jerry Chu <hkchu@google.com>
|
|
|
1bb262 |
-.\" commit dca43c75e7e545694a9dd6288553f55c53e2a3a3
|
|
|
1bb262 |
.\" TCP_REPAIR (3.5)
|
|
|
1bb262 |
.\" commit ee9952831cfd0bbe834f4a26489d7dce74582e37
|
|
|
1bb262 |
.\" Author: Pavel Emelyanov <xemul@parallels.com>
|
|
|
1bb262 |
@@ -1038,6 +1035,51 @@ aborting the attempt to connect.
|
|
|
1bb262 |
It cannot exceed 255.
|
|
|
1bb262 |
This option should not be used in code intended to be portable.
|
|
|
1bb262 |
.TP
|
|
|
1bb262 |
+.BR TCP_USER_TIMEOUT " (since Linux 2.6.37)"
|
|
|
1bb262 |
+.\" commit dca43c75e7e545694a9dd6288553f55c53e2a3a3
|
|
|
1bb262 |
+.\" Author: Jerry Chu <hkchu@google.com>
|
|
|
1bb262 |
+.\" The following text taken nearly verbatim from Jerry Chu's (excellent)
|
|
|
1bb262 |
+.\" commit message.
|
|
|
1bb262 |
+.\"
|
|
|
1bb262 |
+This option takes an
|
|
|
1bb262 |
+.IR "unsigned int"
|
|
|
1bb262 |
+as an argument.
|
|
|
1bb262 |
+When the value is greater than 0,
|
|
|
1bb262 |
+it specifies the maximum amount of time in milliseconds that transmitted
|
|
|
1bb262 |
+data may remain unacknowledged before TCP will forcibly close the
|
|
|
1bb262 |
+corresponding connection and return
|
|
|
1bb262 |
+.B ETIMEDOUT
|
|
|
1bb262 |
+to the application.
|
|
|
1bb262 |
+If the option value is specified as 0,
|
|
|
1bb262 |
+TCP will to use the system default.
|
|
|
1bb262 |
+
|
|
|
1bb262 |
+Increasing user timeouts allows a TCP connection to survive extended
|
|
|
1bb262 |
+periods without end-to-end connectivity.
|
|
|
1bb262 |
+Decreasing user timeouts
|
|
|
1bb262 |
+allows applications to "fail fast", if so desired.
|
|
|
1bb262 |
+Otherwise, failure may take up to 20 minutes with
|
|
|
1bb262 |
+the current system defaults in a normal WAN environment.
|
|
|
1bb262 |
+
|
|
|
1bb262 |
+This option can be set during any state of a TCP connection,
|
|
|
1bb262 |
+but is effective only during the synchronized states of a connection
|
|
|
1bb262 |
+(ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, and LAST-ACK).
|
|
|
1bb262 |
+Moreover, when used with the TCP keepalive
|
|
|
1bb262 |
+.RB ( SO_KEEPALIVE )
|
|
|
1bb262 |
+option,
|
|
|
1bb262 |
+.B TCP_USER_TIMEOUT
|
|
|
1bb262 |
+will override keepalive to determine when to close a
|
|
|
1bb262 |
+connection due to keepalive failure.
|
|
|
1bb262 |
+
|
|
|
1bb262 |
+The option has no effect on when TCP retransmits a packet,
|
|
|
1bb262 |
+nor when a keepalive probe is sent.
|
|
|
1bb262 |
+
|
|
|
1bb262 |
+This option, like many others, will be inherited by the socket returned by
|
|
|
1bb262 |
+.BR accept (2),
|
|
|
1bb262 |
+if it was set on the listening socket.
|
|
|
1bb262 |
+
|
|
|
1bb262 |
+Further details on the user timeout feature can be found in
|
|
|
1bb262 |
+RFC\ 793 and RFC\ 5482 ("TCP User Timeout Option").
|
|
|
1bb262 |
+.TP
|
|
|
1bb262 |
.BR TCP_WINDOW_CLAMP " (since Linux 2.4)"
|
|
|
1bb262 |
.\" Precisely: since 2.3.41
|
|
|
1bb262 |
Bound the size of the advertised window to this value.
|
|
|
1bb262 |
--
|
|
|
1bb262 |
2.7.4
|
|
|
1bb262 |
|