svn commit: r195305 - in projects/tcp_cc_8.x/share/man: man4 man9
Lawrence Stewart
lstewart at FreeBSD.org
Fri Jul 3 11:20:50 UTC 2009
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 at 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 at deefa.com
+and
+.An Lawrence Stewart Aq lstewart at 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 at 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 at FreeBSD.org>
+.\" Copyright (c) 2008-2009 Lawrence Stewart <lstewart at 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
More information about the svn-src-projects
mailing list