diff options
Diffstat (limited to 'static/freebsd/man4/mod_cc.4 3.html')
| -rw-r--r-- | static/freebsd/man4/mod_cc.4 3.html | 182 |
1 files changed, 0 insertions, 182 deletions
diff --git a/static/freebsd/man4/mod_cc.4 3.html b/static/freebsd/man4/mod_cc.4 3.html deleted file mode 100644 index 86d19cdf..00000000 --- a/static/freebsd/man4/mod_cc.4 3.html +++ /dev/null @@ -1,182 +0,0 @@ -<table class="head"> - <tr> - <td class="head-ltitle">MOD_CC(4)</td> - <td class="head-vol">Device Drivers Manual</td> - <td class="head-rtitle">MOD_CC(4)</td> - </tr> -</table> -<div class="manual-text"> -<section class="Sh"> -<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> -<p class="Pp"><code class="Nm">mod_cc</code> — <span class="Nd">Modular - congestion control</span></p> -</section> -<section class="Sh"> -<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> -<p class="Pp">The modular congestion control framework allows the TCP - implementation to dynamically change the congestion control algorithm used - by new and existing connections. Algorithms are identified by a unique - <a class="Xr">ascii(7)</a> name. Algorithm modules can be compiled into the - kernel or loaded as kernel modules using the <a class="Xr">kld(4)</a> - facility.</p> -<p class="Pp">The default algorithm is CUBIC, and all connections use the - default unless explicitly overridden using the - <code class="Dv">TCP_CONGESTION</code> socket option (see - <a class="Xr">tcp(4)</a> for details). The default can be changed using a - <a class="Xr">sysctl(3)</a> MIB variable detailed in the - <a class="Sx" href="#MIB_Variables">MIB Variables</a> section below.</p> -<p class="Pp">Algorithm specific parameters can be set or queried using the - <code class="Dv">TCP_CCALGOOPT</code> socket option (see - <a class="Xr">tcp(4)</a> for details). Callers must pass a pointer to an - algorithm specific data, and specify its size.</p> -<p class="Pp">Unloading a congestion control module will fail if it is used as a - default by any Vnet. When unloading a module, the Vnet default is used to - switch a connection to an alternate congestion control. Note that the new - congestion control module may fail to initialize its internal memory, if so - it will fail the module unload. If this occurs often times retrying the - unload will succeed since the temporary memory shortage as the new CC module - malloc's memory, that prevented the switch is often transient.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="MIB_Variables"><a class="permalink" href="#MIB_Variables">MIB - Variables</a></h1> -<p class="Pp">The framework exposes the following variables in the - <var class="Va">net.inet.tcp.cc</var> branch of the - <a class="Xr">sysctl(3)</a> MIB:</p> -<dl class="Bl-tag"> - <dt id="available"><var class="Va">available</var></dt> - <dd>Read-only list of currently available congestion control algorithms by - name.</dd> - <dt id="algorithm"><var class="Va">algorithm</var></dt> - <dd>Returns the current default congestion control algorithm when read, and - changes the default when set. When attempting to change the default - algorithm, this variable should be set to one of the names listed by the - <var class="Va">net.inet.tcp.cc.available</var> MIB variable.</dd> - <dt id="abe"><var class="Va">abe</var></dt> - <dd>Enable support for RFC 8511, which alters the window decrease factor - applied to the congestion window in response to an ECN congestion signal. - Refer to individual congestion control man pages to determine if they - implement support for ABE and for configuration details.</dd> - <dt id="abe_frlossreduce"><var class="Va">abe_frlossreduce</var></dt> - <dd>If non-zero, apply standard beta instead of ABE-beta during ECN-signalled - congestion recovery episodes if loss also needs to be repaired.</dd> - <dt id="hystartplusplus.bblogs"><var class="Va">hystartplusplus.bblogs</var></dt> - <dd>This boolean controls if black box logging will be done for hystart++ - events. If set to zero (the default) no logging is performed. If set to - one then black box logs will be generated on all hystart++ events.</dd> - <dt id="hystartplusplus.css_rounds"><var class="Va">hystartplusplus.css_rounds</var></dt> - <dd>This value controls the number of rounds that CSS runs for. The default - value matches the current internet-draft of 5.</dd> - <dt id="hystartplusplus.css_growth_div"><var class="Va">hystartplusplus.css_growth_div</var></dt> - <dd>This value controls the divisor applied to slowstart during CSS. The - default value matches the current internet-draft of 4.</dd> - <dt id="hystartplusplus.n_rttsamples"><var class="Va">hystartplusplus.n_rttsamples</var></dt> - <dd>This value controls how many rtt samples must be collected in each round - for hystart++ to be active. The default value matches the current - internet-draft of 8.</dd> - <dt id="hystartplusplus.maxrtt_thresh"><var class="Va">hystartplusplus.maxrtt_thresh</var></dt> - <dd>This value controls the maximum rtt variance clamp when considering if CSS - is needed. The default value matches the current internet-draft of 16000 - (in microseconds). For further explanation please see the - internet-draft.</dd> - <dt id="hystartplusplus.minrtt_thresh"><var class="Va">hystartplusplus.minrtt_thresh</var></dt> - <dd>This value controls the minimum rtt variance clamp when considering if CSS - is needed. The default value matches the current internet-draft of 4000 - (in microseconds). For further explanation please see the - internet-draft.</dd> -</dl> -<p class="Pp">Each congestion control module may also expose other MIB variables - to control their behaviour. Note that both NewReno and CUBIC now support - Hystart++ based on the version 3 of the internet-draft.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="Kernel_Configuration"><a class="permalink" href="#Kernel_Configuration">Kernel - Configuration</a></h1> -<p class="Pp">All of the available congestion control modules may also be loaded - via kernel configuration options. A kernel configuration is required to have - at least one congestion control algorithm built into it via kernel option - and a system default specified. Compilation of the kernel will fail if these - two conditions are not met.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="Kernel_Configuration_Options"><a class="permalink" href="#Kernel_Configuration_Options">Kernel - Configuration Options</a></h1> -<p class="Pp">The framework exposes the following kernel configuration - options.</p> -<dl class="Bl-tag"> - <dt id="CC_NEWRENO"><var class="Va">CC_NEWRENO</var></dt> - <dd>This directive loads the NewReno congestion control algorithm.</dd> - <dt id="CC_CUBIC"><var class="Va">CC_CUBIC</var></dt> - <dd>This directive loads the CUBIC congestion control algorithm and is - included in GENERIC by default.</dd> - <dt id="CC_VEGAS"><var class="Va">CC_VEGAS</var></dt> - <dd>This directive loads the vegas congestion control algorithm, note that - this algorithm also requires the TCP_HHOOK option as well.</dd> - <dt id="CC_CDG"><var class="Va">CC_CDG</var></dt> - <dd>This directive loads the cdg congestion control algorithm, note that this - algorithm also requires the TCP_HHOOK option as well.</dd> - <dt id="CC_DCTCP"><var class="Va">CC_DCTCP</var></dt> - <dd>This directive loads the dctcp congestion control algorithm.</dd> - <dt id="CC_HD"><var class="Va">CC_HD</var></dt> - <dd>This directive loads the hd congestion control algorithm, note that this - algorithm also requires the TCP_HHOOK option as well.</dd> - <dt id="CC_CHD"><var class="Va">CC_CHD</var></dt> - <dd>This directive loads the chd congestion control algorithm, note that this - algorithm also requires the TCP_HHOOK option as well.</dd> - <dt id="CC_HTCP"><var class="Va">CC_HTCP</var></dt> - <dd>This directive loads the htcp congestion control algorithm.</dd> - <dt id="CC_DEFAULT"><var class="Va">CC_DEFAULT</var></dt> - <dd>This directive specifies the string that represents the name of the system - default algorithm, the GENERIC kernel defaults this to CUBIC.</dd> -</dl> -</section> -<section class="Sh"> -<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE - ALSO</a></h1> -<p class="Pp"><a class="Xr">cc_cdg(4)</a>, <a class="Xr">cc_chd(4)</a>, - <a class="Xr">cc_cubic(4)</a>, <a class="Xr">cc_dctcp(4)</a>, - <a class="Xr">cc_hd(4)</a>, <a class="Xr">cc_htcp(4)</a>, - <a class="Xr">cc_newreno(4)</a>, <a class="Xr">cc_vegas(4)</a>, - <a class="Xr">tcp(4)</a>, <a class="Xr">config(5)</a>, - <a class="Xr">config(8)</a>, <a class="Xr">mod_cc(9)</a></p> -</section> -<section class="Sh"> -<h1 class="Sh" id="ACKNOWLEDGEMENTS"><a class="permalink" href="#ACKNOWLEDGEMENTS">ACKNOWLEDGEMENTS</a></h1> -<p class="Pp">Development and testing of this software were made possible in - part by grants from the FreeBSD Foundation and Cisco University Research - Program Fund at Community Foundation Silicon Valley.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1> -<p class="Pp">The <code class="Nm">mod_cc</code> modular congestion control - framework first appeared in <span class="Ux">FreeBSD 9.0</span>.</p> -<p class="Pp">The framework was first released in 2007 by James Healy and - Lawrence Stewart whilst working on the NewTCP research project at Swinburne - University of Technology's Centre for Advanced Internet Architectures, - Melbourne, Australia, which was made possible in part by a grant from the - Cisco University Research Program Fund at Community Foundation Silicon - Valley. More details are available at:</p> -<p class="Pp">http://caia.swin.edu.au/urp/newtcp/</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1> -<p class="Pp">The <code class="Nm">mod_cc</code> facility was written by - <span class="An">Lawrence Stewart</span> - <<a class="Mt" href="mailto:lstewart@FreeBSD.org">lstewart@FreeBSD.org</a>>, - <span class="An">James Healy</span> - <<a class="Mt" href="mailto:jimmy@deefa.com">jimmy@deefa.com</a>> and - <span class="An">David Hayes</span> - <<a class="Mt" href="mailto:david.hayes@ieee.org">david.hayes@ieee.org</a>>.</p> -<p class="Pp">This manual page was written by <span class="An">David - Hayes</span> - <<a class="Mt" href="mailto:david.hayes@ieee.org">david.hayes@ieee.org</a>> - and <span class="An">Lawrence Stewart</span> - <<a class="Mt" href="mailto:lstewart@FreeBSD.org">lstewart@FreeBSD.org</a>>.</p> -</section> -</div> -<table class="foot"> - <tr> - <td class="foot-date">September 13, 2022</td> - <td class="foot-os">FreeBSD 15.0</td> - </tr> -</table> |
