* 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
[parent not found: <477B5F89.9000707-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* 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).