Date: Fri, 3 Jul 2009 11:20:49 +0000 (UTC) From: Lawrence Stewart <lstewart@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r195305 - in projects/tcp_cc_8.x/share/man: man4 man9 Message-ID: <200907031120.n63BKnTD076471@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: lstewart Date: Fri Jul 3 11:20:49 2009 New Revision: 195305 URL: http://svn.freebsd.org/changeset/base/195305 Log: WIP for man pages. Added: projects/tcp_cc_8.x/share/man/man4/cc_newreno.4 Modified: projects/tcp_cc_8.x/share/man/man9/cc.9 Added: projects/tcp_cc_8.x/share/man/man4/cc_newreno.4 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/tcp_cc_8.x/share/man/man4/cc_newreno.4 Fri Jul 3 11:20:49 2009 (r195305) @@ -0,0 +1,62 @@ +.\" +.\" Copyright (c) 2009 Lawrence Stewart <lstewart@FreeBSD.org> +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions, and the following disclaimer, +.\" without modification, immediately at the beginning of the file. +.\" 2. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR +.\" ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd July 3, 2009 +.Dt CC_NEWRENO 4 +.Os +.Sh NAME +.Nm cc_newreno +.Nd NewReno Congestion Control Algorithm +.Sh DESCRIPTION +The +.N +congestion control algorithm +.Ss Runtime Configuration +There are currently no tunable variables. +.Sh SEE ALSO +.Xr cc 9 +.Sh HISTORY +The +.Nm +congestion control module first appeared in +.Fx 8.0 . +.Sh AUTHORS +.An -nosplit +The +.Nm +congestion control module was written by +.An James Healy Aq jimmy@deefa.com +and +.An Lawrence Stewart Aq lstewart@FreeBSD.org +while working at the Centre for Advanced Internet Architectures, +Swinburne University (http://caia.swin.edu.au/). +.Pp +This manual page was written by +.An Lawrence Stewart Aq lstewart@FreeBSD.org . +.Sh ACKNOWLEDGMENTS +Development of this software was made possible in part by a grant from the +Cisco University Research Program Fund at Community Foundation Silicon Valley. Modified: projects/tcp_cc_8.x/share/man/man9/cc.9 ============================================================================== --- projects/tcp_cc_8.x/share/man/man9/cc.9 Fri Jul 3 11:18:08 2009 (r195304) +++ projects/tcp_cc_8.x/share/man/man9/cc.9 Fri Jul 3 11:20:49 2009 (r195305) @@ -1,5 +1,5 @@ .\" -.\" Copyright (c) 2008 Lawrence Stewart <lstewart@FreeBSD.org> +.\" Copyright (c) 2008-2009 Lawrence Stewart <lstewart@FreeBSD.org> .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -30,15 +30,12 @@ .Os .Sh NAME .Nm cc , -.Nm cc_register_algorithm , -.Nm cc_deregister_algorithm +.Nm DECLARE_CC_MODULE .Nd Modular Congestion Control .Sh SYNOPSIS .In netinet/cc.h -.Ft int -.Fn cc_register_algorithm "struct cc_algo *add_cc" -.Ft int -.Fn cc_deregister_algorithm "struct cc_algo *remove_cc" +.In netinet/cc_module.h +.Fn DECLARE_CC_MODULE "name" "name_cc_algo" .Sh DESCRIPTION The .Nm @@ -52,9 +49,11 @@ which has the following members: .Bd -literal -offset indent struct cc_algo { char name[TCP_CA_NAME_MAX]; - int (*init) (struct tcpcb *tp); - void (*deinit) (struct tcpcb *tp); - void (*cwnd_init) (struct tcpcb *tp); + int (*mod_init) (void); + int (*mod_destroy) (void); + int (*cb_init) (struct tcpcb *tp); + void (*cb_destroy) (struct tcpcb *tp); + void (*conn_init) (struct tcpcb *tp); void (*ack_received) (struct tcpcb *tp, struct tcphdr *th); void (*pre_fr) (struct tcpcb *tp, struct tcphdr *th); void (*post_fr) (struct tcpcb *tp, struct tcphdr *th); @@ -66,6 +65,19 @@ struct cc_algo { The .Va name field identifies the unique name of the algorithm. +.Pp +The +.Va mod_init +function pointer is called by the framework when a new module is loaded into +the system. +It should be implemented if a module needs to set up some global state prior to +being available for use by new connections. +The +.Va mod_destroy +function pointer is called by the framework when an existing module is unloaded +from the system. +It should be implemented if a module needs to perform any cleanup activities +related to global state before being removed from the kernel. .Ss Runtime Configuration The following .Xr sysctl 8 @@ -85,18 +97,21 @@ list will change the system default for .El .Sh FUNCTIONS The -.Fn cc_register_algorithm +.Fn cc_register_algo function registers the algorithm pointed to by .Fa add_cc with the framework. .Sh IMPLEMENTATION NOTES .Sh RETURN VALUES The -.Fn cc_register_algorithm +.Fn cc_register_algo function returns non-zero on failure. .Sh SEE ALSO -.Xr cc_cubic 4 , -.Xr cc_htcp 4 , + +.\" Coming soon... +.\" .Xr cc_cubic 4 , +.\" .Xr cc_htcp 4 , +.Xr cc_newreno 4 , .Xr sctp 4 .Xr tcp 4 , .Sh HISTORY
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907031120.n63BKnTD076471>