* Re: [patch] add tcp congestion control relevant parts
[not found] <476000E7.4060104@secunet.com>
@ 2007-12-14 8:48 ` Michael Kerrisk
2007-12-14 16:15 ` Stephen Hemminger
0 siblings, 1 reply; 4+ messages in thread
From: Michael Kerrisk @ 2007-12-14 8:48 UTC (permalink / raw)
To: netdev, linux-net; +Cc: Thomas Egerer, linux-man
Hello Linux networking folk,
I received the patch below for the tcp.7 man page. Would anybody here be
prepared to review the new material / double check the details?
Cheers,
Michael
-------- Original Message --------
Subject: [patch] add tcp congestion control relevant parts
Date: Wed, 12 Dec 2007 16:40:23 +0100
From: Thomas Egerer <thomas.Egerer@secunet.com>
To: mtk.manpages@gmail.com
CC: linux-man@vger.kernel.org
Hello *,
man-pages version : 2.70 from http://www.kernel.org/pub/linux/docs/man-pages/
All required information were obtained by reading the kernel
code/documentation.
I'm not sure, whether it is completely bullet proof on when the sysctl
variables/socket option first appeared in the kernel, so you might as well
drop this information, but I'm pretty sure about how it works.
Here we go with my patch:
diff -ru man-pages-2.70/man7/tcp.7 man-pages-2.70.new/man7/tcp.7
--- man-pages-2.70/man7/tcp.7 2007-11-24 14:33:34.000000000 +0100
+++ man-pages-2.70.new/man7/tcp.7 2007-12-12 16:34:52.000000000 +0100
@@ -177,8 +177,6 @@
.\" FIXME As at Sept 2006, kernel 2.6.18-rc5, the following are
.\" not yet documented (shown with default values):
.\"
-.\" /proc/sys/net/ipv4/tcp_congestion_control (since 2.6.13)
-.\" bic
.\" /proc/sys/net/ipv4/tcp_moderate_rcvbuf
.\" 1
.\" /proc/sys/net/ipv4/tcp_no_metrics_save
@@ -224,6 +222,20 @@
are reserved for the application buffer.
A value of 0
implies that no amount is reserved.
+.TP
+.BR tcp_allowed_congestion_control \
+" (String; default: cubic reno) (since 2.6.13) "
+Show/set the congestion control choices available to non-privileged
+processes. The list is a subset of those listed in
+.IR tcp_available_congestion_control "."
+Default is "cubic reno" and the default setting
+.RI ( tcp_congestion_control ).
+.TP
+.BR tcp_available_congestion_control \
+" (String; default: cubic reno) (since 2.6.13) "
+Lists the TCP congestion control algorithms available on the system. This
value
+can only be changed by loading/unloading modules responsible for congestion
+control.
.\"
.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
@@ -257,6 +269,17 @@
Allows two flows sharing the same connection to converge
more rapidly.
.TP
+.BR tcp_congestion_control " (String; default: cubic reno) (since 2.6.13) "
+Determines the congestion control algorithm used for newly created TCP
+sockets. By default Linux uses cubic with reno as fallback. If you want
+to have more control over the algorithm used, you must enable the symbol
+CONFIG_TCP_CONG_ADVANCED in your kernel config.
+You can use
+.BR setsockopt (2)
+to individually change the algorithm on a single socket.
+Requires CAP_NET_ADMIN or congestion algorithm to be listed in
+.IR tcp_allowed_congestion_control "."
+.TP
.BR tcp_dsack " (Boolean; default: enabled)"
Enable RFC\ 2883 TCP Duplicate SACK support.
.TP
@@ -649,7 +672,21 @@
socket options are valid on TCP sockets.
For more information see
.BR ip (7).
-.\" FIXME Document TCP_CONGESTION (new in 2.6.13)
+.TP
+.BR TCP_CONGESTION " (new since kernel version 2.6.13)"
+If set to the name of an available congestion control algorithm,
+it will henceforth be used for the socket. To get a list of
+available congestion control algorithms, consult the sysctl variable
+.IR net.ipv4.tcp_available_congestion_control "."
+The algorithm that is used by default for all newly created
+TCP sockets can be viewed/changed via the sysctl variable
+.IR net.ipv4.tcp_congestion_control "."
+If you feel, you are missing an algorithm in the list,
+you may try to load the corresponding module using
+.BR modprobe (8),
+or if your kernel is built with module autoloading support
+.RI ( CONFIG_KMOD )
+and the algorithm has been compiled as a module, it will be autoloaded.
.TP
.B TCP_CORK
If set, don't send out partial frames.
--
Michael Kerrisk
Maintainer of the Linux man-pages project
http://www.kernel.org/doc/man-pages/
Want to report a man-pages bug? Look here:
http://www.kernel.org/doc/man-pages/reporting_bugs.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch] add tcp congestion control relevant parts
2007-12-14 8:48 ` [patch] add tcp congestion control relevant parts Michael Kerrisk
@ 2007-12-14 16:15 ` Stephen Hemminger
2008-01-02 9:55 ` Michael Kerrisk
0 siblings, 1 reply; 4+ messages in thread
From: Stephen Hemminger @ 2007-12-14 16:15 UTC (permalink / raw)
To: Michael Kerrisk; +Cc: netdev, linux-net, Thomas Egerer, linux-man
On Fri, 14 Dec 2007 09:48:32 +0100
Michael Kerrisk <mtk.manpages@googlemail.com> wrote:
> Hello Linux networking folk,
>
> I received the patch below for the tcp.7 man page. Would anybody here be
> prepared to review the new material / double check the details?
>
> Cheers,
>
> Michael
>
> -------- Original Message --------
> Subject: [patch] add tcp congestion control relevant parts
> Date: Wed, 12 Dec 2007 16:40:23 +0100
> From: Thomas Egerer <thomas.Egerer@secunet.com>
> To: mtk.manpages@gmail.com
> CC: linux-man@vger.kernel.org
>
> Hello *,
>
> man-pages version : 2.70 from http://www.kernel.org/pub/linux/docs/man-pages/
> All required information were obtained by reading the kernel
> code/documentation.
> I'm not sure, whether it is completely bullet proof on when the sysctl
> variables/socket option first appeared in the kernel, so you might as well
> drop this information, but I'm pretty sure about how it works.
> Here we go with my patch:
>
> diff -ru man-pages-2.70/man7/tcp.7 man-pages-2.70.new/man7/tcp.7
> --- man-pages-2.70/man7/tcp.7 2007-11-24 14:33:34.000000000 +0100
> +++ man-pages-2.70.new/man7/tcp.7 2007-12-12 16:34:52.000000000 +0100
> @@ -177,8 +177,6 @@
> .\" FIXME As at Sept 2006, kernel 2.6.18-rc5, the following are
> .\" not yet documented (shown with default values):
> .\"
> -.\" /proc/sys/net/ipv4/tcp_congestion_control (since 2.6.13)
> -.\" bic
> .\" /proc/sys/net/ipv4/tcp_moderate_rcvbuf
> .\" 1
> .\" /proc/sys/net/ipv4/tcp_no_metrics_save
> @@ -224,6 +222,20 @@
> are reserved for the application buffer.
> A value of 0
> implies that no amount is reserved.
> +.TP
> +.BR tcp_allowed_congestion_control \
> +" (String; default: cubic reno) (since 2.6.13) "
> +Show/set the congestion control choices available to non-privileged
> +processes. The list is a subset of those listed in
> +.IR tcp_available_congestion_control "."
> +Default is "cubic reno" and the default setting
> +.RI ( tcp_congestion_control ).
> +.TP
> +.BR tcp_available_congestion_control \
> +" (String; default: cubic reno) (since 2.6.13) "
> +Lists the TCP congestion control algorithms available on the system. This
> value
> +can only be changed by loading/unloading modules responsible for congestion
> +control.
> .\"
> .\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
> .TP
> @@ -257,6 +269,17 @@
> Allows two flows sharing the same connection to converge
> more rapidly.
> .TP
> +.BR tcp_congestion_control " (String; default: cubic reno) (since 2.6.13) "
> +Determines the congestion control algorithm used for newly created TCP
> +sockets. By default Linux uses cubic with reno as fallback. If you want
> +to have more control over the algorithm used, you must enable the symbol
> +CONFIG_TCP_CONG_ADVANCED in your kernel config.
You can choose the default congestion control as well as part of the kernel
configuration.
>
--
Stephen Hemminger <shemminger@linux-foundation.org>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch] add tcp congestion control relevant parts
2007-12-14 16:15 ` Stephen Hemminger
@ 2008-01-02 9:55 ` Michael Kerrisk
[not found] ` <477B5F89.9000707-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Michael Kerrisk @ 2008-01-02 9:55 UTC (permalink / raw)
To: Stephen Hemminger
Cc: Michael Kerrisk, netdev, linux-net, Thomas Egerer, linux-man
Stephen Hemminger wrote:
> On Fri, 14 Dec 2007 09:48:32 +0100
> Michael Kerrisk <mtk.manpages@googlemail.com> wrote:
>
>> Hello Linux networking folk,
>>
>> I received the patch below for the tcp.7 man page. Would anybody here be
>> prepared to review the new material / double check the details?
>>
>> Cheers,
>>
>> Michael
>>
>> -------- Original Message --------
>> Subject: [patch] add tcp congestion control relevant parts
>> Date: Wed, 12 Dec 2007 16:40:23 +0100
>> From: Thomas Egerer <thomas.Egerer@secunet.com>
>> To: mtk.manpages@gmail.com
>> CC: linux-man@vger.kernel.org
>>
>> Hello *,
>>
>> man-pages version : 2.70 from http://www.kernel.org/pub/linux/docs/man-pages/
>> All required information were obtained by reading the kernel
>> code/documentation.
>> I'm not sure, whether it is completely bullet proof on when the sysctl
>> variables/socket option first appeared in the kernel, so you might as well
>> drop this information, but I'm pretty sure about how it works.
>> Here we go with my patch:
>>
>> diff -ru man-pages-2.70/man7/tcp.7 man-pages-2.70.new/man7/tcp.7
>> --- man-pages-2.70/man7/tcp.7 2007-11-24 14:33:34.000000000 +0100
>> +++ man-pages-2.70.new/man7/tcp.7 2007-12-12 16:34:52.000000000 +0100
>> @@ -177,8 +177,6 @@
>> .\" FIXME As at Sept 2006, kernel 2.6.18-rc5, the following are
>> .\" not yet documented (shown with default values):
>> .\"
>> -.\" /proc/sys/net/ipv4/tcp_congestion_control (since 2.6.13)
>> -.\" bic
>> .\" /proc/sys/net/ipv4/tcp_moderate_rcvbuf
>> .\" 1
>> .\" /proc/sys/net/ipv4/tcp_no_metrics_save
>> @@ -224,6 +222,20 @@
>> are reserved for the application buffer.
>> A value of 0
>> implies that no amount is reserved.
>> +.TP
>> +.BR tcp_allowed_congestion_control \
>> +" (String; default: cubic reno) (since 2.6.13) "
>> +Show/set the congestion control choices available to non-privileged
>> +processes. The list is a subset of those listed in
>> +.IR tcp_available_congestion_control "."
>> +Default is "cubic reno" and the default setting
>> +.RI ( tcp_congestion_control ).
>> +.TP
>> +.BR tcp_available_congestion_control \
>> +" (String; default: cubic reno) (since 2.6.13) "
>> +Lists the TCP congestion control algorithms available on the system. This
>> value
>> +can only be changed by loading/unloading modules responsible for congestion
>> +control.
>> .\"
>> .\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
>> .TP
>> @@ -257,6 +269,17 @@
>> Allows two flows sharing the same connection to converge
>> more rapidly.
>> .TP
>> +.BR tcp_congestion_control " (String; default: cubic reno) (since 2.6.13) "
>> +Determines the congestion control algorithm used for newly created TCP
>> +sockets. By default Linux uses cubic with reno as fallback. If you want
>> +to have more control over the algorithm used, you must enable the symbol
>> +CONFIG_TCP_CONG_ADVANCED in your kernel config.
>
> You can choose the default congestion control as well as part of the kernel
> configuration.
Hi Stephen,
Other than this, did the doc patch look okay? (I'm not sure whether there
was an implied ACK in your message for the rest of the patch.)
Cheers,
Michael
--
Michael Kerrisk
Maintainer of the Linux man-pages project
http://www.kernel.org/doc/man-pages/
Want to report a man-pages bug? Look here:
http://www.kernel.org/doc/man-pages/reporting_bugs.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch] add tcp congestion control relevant parts
[not found] ` <477B5F89.9000707-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2008-01-02 17:40 ` Stephen Hemminger
0 siblings, 0 replies; 4+ messages in thread
From: Stephen Hemminger @ 2008-01-02 17:40 UTC (permalink / raw)
To: Michael Kerrisk
Cc: Michael Kerrisk, netdev, linux-net-u79uwXL29TY76Z2rM5mHXA,
Thomas Egerer, linux-man-u79uwXL29TY76Z2rM5mHXA
On Wed, 02 Jan 2008 10:55:21 +0100
Michael Kerrisk <mtk.manpages-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:
>
>
> Stephen Hemminger wrote:
> > On Fri, 14 Dec 2007 09:48:32 +0100
> > Michael Kerrisk <mtk.manpages-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:
> >
> >> Hello Linux networking folk,
> >>
> >> I received the patch below for the tcp.7 man page. Would anybody here be
> >> prepared to review the new material / double check the details?
> >>
> >> Cheers,
> >>
> >> Michael
> >>
> >> -------- Original Message --------
> >> Subject: [patch] add tcp congestion control relevant parts
> >> Date: Wed, 12 Dec 2007 16:40:23 +0100
> >> From: Thomas Egerer <thomas.Egerer-opNxpl+3fjRBDgjK7y7TUQ@public.gmane.org>
> >> To: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
> >> CC: linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> >>
> >> Hello *,
> >>
> >> man-pages version : 2.70 from http://www.kernel.org/pub/linux/docs/man-pages/
> >> All required information were obtained by reading the kernel
> >> code/documentation.
> >> I'm not sure, whether it is completely bullet proof on when the sysctl
> >> variables/socket option first appeared in the kernel, so you might as well
> >> drop this information, but I'm pretty sure about how it works.
> >> Here we go with my patch:
> >>
> >> diff -ru man-pages-2.70/man7/tcp.7 man-pages-2.70.new/man7/tcp.7
> >> --- man-pages-2.70/man7/tcp.7 2007-11-24 14:33:34.000000000 +0100
> >> +++ man-pages-2.70.new/man7/tcp.7 2007-12-12 16:34:52.000000000 +0100
> >> @@ -177,8 +177,6 @@
> >> .\" FIXME As at Sept 2006, kernel 2.6.18-rc5, the following are
> >> .\" not yet documented (shown with default values):
> >> .\"
> >> -.\" /proc/sys/net/ipv4/tcp_congestion_control (since 2.6.13)
> >> -.\" bic
> >> .\" /proc/sys/net/ipv4/tcp_moderate_rcvbuf
> >> .\" 1
> >> .\" /proc/sys/net/ipv4/tcp_no_metrics_save
> >> @@ -224,6 +222,20 @@
> >> are reserved for the application buffer.
> >> A value of 0
> >> implies that no amount is reserved.
> >> +.TP
> >> +.BR tcp_allowed_congestion_control \
> >> +" (String; default: cubic reno) (since 2.6.13) "
> >> +Show/set the congestion control choices available to non-privileged
> >> +processes. The list is a subset of those listed in
> >> +.IR tcp_available_congestion_control "."
> >> +Default is "cubic reno" and the default setting
> >> +.RI ( tcp_congestion_control ).
> >> +.TP
> >> +.BR tcp_available_congestion_control \
> >> +" (String; default: cubic reno) (since 2.6.13) "
> >> +Lists the TCP congestion control algorithms available on the system. This
> >> value
> >> +can only be changed by loading/unloading modules responsible for congestion
> >> +control.
> >> .\"
> >> .\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
> >> .TP
> >> @@ -257,6 +269,17 @@
> >> Allows two flows sharing the same connection to converge
> >> more rapidly.
> >> .TP
> >> +.BR tcp_congestion_control " (String; default: cubic reno) (since 2.6.13) "
> >> +Determines the congestion control algorithm used for newly created TCP
> >> +sockets. By default Linux uses cubic with reno as fallback. If you want
> >> +to have more control over the algorithm used, you must enable the symbol
> >> +CONFIG_TCP_CONG_ADVANCED in your kernel config.
> >
> > You can choose the default congestion control as well as part of the kernel
> > configuration.
>
> Hi Stephen,
>
> Other than this, did the doc patch look okay? (I'm not sure whether there
> was an implied ACK in your message for the rest of the patch.)
>
> Cheers,
>
> Michael
>
Yes, and having this documented will hopefully help answer people's
questions.
--
Stephen Hemminger <stephen.hemminger-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
-
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-01-02 17:40 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <476000E7.4060104@secunet.com>
2007-12-14 8:48 ` [patch] add tcp congestion control relevant parts Michael Kerrisk
2007-12-14 16:15 ` Stephen Hemminger
2008-01-02 9:55 ` Michael Kerrisk
[not found] ` <477B5F89.9000707-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2008-01-02 17:40 ` Stephen Hemminger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).