|
|
172c20 |
diff -up man-pages-3.45/man7/tcp.7.orig man-pages-3.45/man7/tcp.7
|
|
|
172c20 |
--- man-pages-3.45/man7/tcp.7.orig 2012-12-20 18:17:29.000000000 +0100
|
|
|
172c20 |
+++ man-pages-3.45/man7/tcp.7 2012-12-21 15:31:18.526858856 +0100
|
|
|
172c20 |
@@ -867,6 +867,58 @@ socket options are valid on TCP sockets.
|
|
|
172c20 |
For more information see
|
|
|
172c20 |
.BR ip (7).
|
|
|
172c20 |
.TP
|
|
|
172c20 |
+.BR TCP_CONGESTION " (since Linux 2.6.13)"
|
|
|
172c20 |
+Get or set the congestion-control algorithm for this socket.
|
|
|
172c20 |
+The
|
|
|
172c20 |
+.I optval
|
|
|
172c20 |
+argument is a pointer to a character-string buffer.
|
|
|
172c20 |
+
|
|
|
172c20 |
+For
|
|
|
172c20 |
+.BR getsockopt ()
|
|
|
172c20 |
+.I *optlen
|
|
|
172c20 |
+specifies the amount of space available in the buffer pointed to by
|
|
|
172c20 |
+.IR optval ,
|
|
|
172c20 |
+which should be at least 16 bytes (defined by the kernel-internal constant
|
|
|
172c20 |
+.BR TCP_CA_NAME_MAX ).
|
|
|
172c20 |
+On return, the buffer pointed to by
|
|
|
172c20 |
+.I optval
|
|
|
172c20 |
+is set to a null-terminated string containing the name of the
|
|
|
172c20 |
+congestion-control algorithm for this socket, and
|
|
|
172c20 |
+.I *optlen
|
|
|
172c20 |
+is set to the minimum of its original value and
|
|
|
172c20 |
+.BR TCP_CA_NAME_MAX .
|
|
|
172c20 |
+If the value passed in
|
|
|
172c20 |
+.I *optlen
|
|
|
172c20 |
+is too small, then the string returned in
|
|
|
172c20 |
+.I *optval
|
|
|
172c20 |
+is silently truncated, and no terminating null byte is added.
|
|
|
172c20 |
+If an empty string is returned, then the socket is using the default
|
|
|
172c20 |
+congestion-control algorithm, determined as described under
|
|
|
172c20 |
+.I tcp_congestion_control
|
|
|
172c20 |
+above.
|
|
|
172c20 |
+
|
|
|
172c20 |
+For
|
|
|
172c20 |
+.BR setsockopt ()
|
|
|
172c20 |
+.I optlen
|
|
|
172c20 |
+specifies the length of the congestion-control algorithm name
|
|
|
172c20 |
+contained in the buffer pointed to by
|
|
|
172c20 |
+.IR optval ;
|
|
|
172c20 |
+this length need not include any terminating null byte.
|
|
|
172c20 |
+The algorithm "reno" is always permitted;
|
|
|
172c20 |
+other algorithms may be available, depending on kernel configuration.
|
|
|
172c20 |
+Possible errors from
|
|
|
172c20 |
+.BR setsockopt ()
|
|
|
172c20 |
+include:
|
|
|
172c20 |
+algorithm not found/available
|
|
|
172c20 |
+.RB ( ENOENT );
|
|
|
172c20 |
+setting this algorithm requires the
|
|
|
172c20 |
+.B CAP_NET_ADMIN
|
|
|
172c20 |
+capability
|
|
|
172c20 |
+.RB ( EPERM );
|
|
|
172c20 |
+and failure getting kernel module
|
|
|
172c20 |
+.RB ( EBUSY ).
|
|
|
172c20 |
+.I
|
|
|
172c20 |
+.TP
|
|
|
172c20 |
.BR TCP_CORK " (since Linux 2.2)"
|
|
|
172c20 |
.\" precisely: since 2.1.127
|
|
|
172c20 |
If set, don't send out partial frames.
|