diff options
| author | Michael Kerrisk <mtk.manpages@gmail.com> | 2014-01-23 04:27:29 +0100 |
|---|---|---|
| committer | Michael Kerrisk <mtk.manpages@gmail.com> | 2014-01-23 15:36:03 +0100 |
| commit | 396fe1bcebb0022e36b79f4060547ba04a04f6bf (patch) | |
| tree | 98a3fd8e86a52f4591da18741f00947c734d3a29 /man7/tcp.7 | |
| parent | 5d4f676f68671a0b87c4482fdbc120bf0c67e0be (diff) | |
| download | man-pages-396fe1bcebb0022e36b79f4060547ba04a04f6bf.tar.gz | |
tcp.7: Document TCP_USER_TIMEOUT
Text slightly adapted from Jerry Chu's (excellent) commit
message (commit dca43c75e7e545694a9dd6288553f55c53e2a3a3).
Cowritten-by: Jerry Chu <hkchu@google.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
Diffstat (limited to 'man7/tcp.7')
| -rw-r--r-- | man7/tcp.7 | 50 |
1 files changed, 46 insertions, 4 deletions
diff --git a/man7/tcp.7 b/man7/tcp.7 index 4b567200e6..94ddceb6f8 100644 --- a/man7/tcp.7 +++ b/man7/tcp.7 @@ -46,9 +46,6 @@ .\" TCP_THIN_DUPACK (2.6.34) .\" commit 7e38017557bc0b87434d184f8804cadb102bb903 .\" Author: Andreas Petlund <apetlund@simula.no> -.\" TCP_USER_TIMEOUT (new in 2.6.37) -.\" Author: Jerry Chu <hkchu@google.com> -.\" commit dca43c75e7e545694a9dd6288553f55c53e2a3a3 .\" TCP_REPAIR (3.5) .\" commit ee9952831cfd0bbe834f4a26489d7dce74582e37 .\" Author: Pavel Emelyanov <xemul@parallels.com> @@ -70,7 +67,7 @@ .\" commit c9bee3b7fdecb0c1d070c7b54113b3bdfb9a3d36 .\" Author: Eric Dumazet <edumazet@google.com> .\" -.TH TCP 7 2013-12-12 "Linux" "Linux Programmer's Manual" +.TH TCP 7 2014-01-23 "Linux" "Linux Programmer's Manual" .SH NAME tcp \- TCP protocol .SH SYNOPSIS @@ -994,6 +991,51 @@ aborting the attempt to connect. It cannot exceed 255. This option should not be used in code intended to be portable. .TP +.BR TCP_USER_TIMEOUT " (since Linux 2.6.37)" +.\" commit dca43c75e7e545694a9dd6288553f55c53e2a3a3 +.\" Author: Jerry Chu <hkchu@google.com> +.\" The following text taken nearly verbatim from Jerry Chu's (excellent) +.\" commit message. +.\" +This option takes an +.IR "unsigned int" +as an argument. +When the value is greater than 0, +it specifies the maximum amount of time in imilliseconds that transmitted +data may remain unacknowledged before TCP will forcibly close the +corresponding connection and return +.B ETIMEDOUT +to the application. +If the option value is specified as 0, +TCP will to use the system default. + +Increasing user timeouts allows a TCP connection to survive extended +periods without end-to-end connectivity. +Decreasing user timeouts +allows applications to "fail fast", if so desired. +Otherwise, failure may take upto 20 minutes with +the current system defaults in a normal WAN environment. + +This option can be set during any state of a TCP connection, +but is only effective during the synchronized states of a connection +(ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, and LAST-ACK). +Moreover, when used with the TCP keepalive +.RB ( SO_KEEPALIVE ) +option, +.B TCP_USER_TIMEOUT +will override keepalive to determine when to close a +connection due to keepalive failure. + +The option has no effect on when TCP retransmits a packet, +nor when a keepalive probe is sent. + +This option, like many others, will be inherited by the socket returned by +.BR accept (2), +if it was set on the listening socket. + +Further details on the user timeout" feature can be found in +RFC\ 793 and RFC\ 5482 ("TCP User Timeout Option"). +.TP .BR TCP_WINDOW_CLAMP " (since Linux 2.4)" .\" Precisely: since 2.3.41 Bound the size of the advertised window to this value. |
