summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/mod_cc.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/mod_cc.4 3.html')
-rw-r--r--static/freebsd/man4/mod_cc.4 3.html182
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> &#x2014; <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>
- &lt;<a class="Mt" href="mailto:lstewart@FreeBSD.org">lstewart@FreeBSD.org</a>&gt;,
- <span class="An">James Healy</span>
- &lt;<a class="Mt" href="mailto:jimmy@deefa.com">jimmy@deefa.com</a>&gt; and
- <span class="An">David Hayes</span>
- &lt;<a class="Mt" href="mailto:david.hayes@ieee.org">david.hayes@ieee.org</a>&gt;.</p>
-<p class="Pp">This manual page was written by <span class="An">David
- Hayes</span>
- &lt;<a class="Mt" href="mailto:david.hayes@ieee.org">david.hayes@ieee.org</a>&gt;
- and <span class="An">Lawrence Stewart</span>
- &lt;<a class="Mt" href="mailto:lstewart@FreeBSD.org">lstewart@FreeBSD.org</a>&gt;.</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>