Blame SOURCES/man-pages-3.43-tcp-congestion.patch

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.