Changeset View
Changeset View
Standalone View
Standalone View
head/share/man/man4/cc_newreno.4
Show All 24 Lines | |||||
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | .\" 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 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||
.\" SUCH DAMAGE. | .\" SUCH DAMAGE. | ||||
.\" | .\" | ||||
.\" $FreeBSD$ | .\" $FreeBSD$ | ||||
.\" | .\" | ||||
.Dd September 15, 2011 | .Dd March 19, 2018 | ||||
.Dt CC_NEWRENO 4 | .Dt CC_NEWRENO 4 | ||||
.Os | .Os | ||||
.Sh NAME | .Sh NAME | ||||
.Nm cc_newreno | .Nm cc_newreno | ||||
.Nd NewReno Congestion Control Algorithm | .Nd NewReno Congestion Control Algorithm | ||||
.Sh SYNOPSIS | |||||
.In netinet/cc/cc_newreno.h | |||||
.Sh DESCRIPTION | .Sh DESCRIPTION | ||||
The NewReno congestion control algorithm is the default for TCP. | The NewReno congestion control algorithm is the default for TCP. | ||||
Details about the algorithm can be found in RFC5681. | Details about the algorithm can be found in RFC5681. | ||||
.Sh Socket Options | |||||
The | |||||
.Nm | |||||
module supports a number of socket options under TCP_CCALGOOPT (refer to | |||||
.Xr tcp 4 | |||||
and | |||||
.Xr moc_cc 9 for details) | |||||
which can | |||||
be set with | |||||
.Xr setsockopt 2 | |||||
and tested with | |||||
.Xr getsockopt 2 . | |||||
The | |||||
.Nm | |||||
socket options use this structure defined in | |||||
<sys/netinet/cc/cc_newreno.h>: | |||||
.Bd -literal | |||||
struct cc_newreno_opts { | |||||
int name; | |||||
uint32_t val; | |||||
} | |||||
.Ed | |||||
.Bl -tag -width ".Va CC_NEWRENO_BETA_ECN" | |||||
.It Va CC_NEWRENO_BETA | |||||
Multiplicative window decrease factor, specified as a percentage, applied to | |||||
the congestion window in response to a congestion signal per: cwnd = (cwnd * | |||||
CC_NEWRENO_BETA) / 100. | |||||
Default is 50. | |||||
.It Va CC_NEWRENO_BETA_ECN | |||||
Multiplicative window decrease factor, specified as a percentage, applied to | |||||
the congestion window in response to an ECN congestion signal when | |||||
.Va net.inet.tcp.cc.abe=1 | |||||
per: cwnd = (cwnd * CC_NEWRENO_BETA_ECN) / 100. | |||||
Default is 80. | |||||
.Sh MIB Variables | .Sh MIB Variables | ||||
There are currently no tunable MIB variables. | The algorithm exposes these variables in the | ||||
.Va net.inet.tcp.cc.newreno | |||||
branch of the | |||||
.Xr sysctl 3 | |||||
MIB: | |||||
.Bl -tag -width ".Va beta_ecn" | |||||
.It Va beta | |||||
Multiplicative window decrease factor, specified as a percentage, applied to | |||||
the congestion window in response to a congestion signal per: cwnd = (cwnd * | |||||
beta) / 100. | |||||
Default is 50. | |||||
.It Va beta_ecn | |||||
Multiplicative window decrease factor, specified as a percentage, applied to | |||||
the congestion window in response to an ECN congestion signal when | |||||
.Va net.inet.tcp.cc.abe=1 | |||||
per: cwnd = (cwnd * beta_ecn) / 100. | |||||
Default is 80. | |||||
.Sh SEE ALSO | .Sh SEE ALSO | ||||
.Xr cc_chd 4 , | .Xr cc_chd 4 , | ||||
.Xr cc_cubic 4 , | .Xr cc_cubic 4 , | ||||
.Xr cc_hd 4 , | .Xr cc_hd 4 , | ||||
.Xr cc_htcp 4 , | .Xr cc_htcp 4 , | ||||
.Xr cc_vegas 4 , | .Xr cc_vegas 4 , | ||||
.Xr mod_cc 4 , | .Xr mod_cc 4 , | ||||
.Xr tcp 4 , | .Xr tcp 4 , | ||||
.Xr mod_cc 9 | .Xr mod_cc 9 | ||||
.Rs | |||||
.%A "Mark Allman" | |||||
.%A "Vern Paxson" | |||||
.%A "Ethan Blanton" | |||||
.%T "TCP Congestion Control" | |||||
.%O "RFC 5681" | |||||
.Re | |||||
.Rs | |||||
.%A "Naeem Khademi" | |||||
.%A "Michael Welzl" | |||||
.%A "Grenville Armitage" | |||||
.%A "Gorry Fairhurst" | |||||
.%T "TCP Alternative Backoff with ECN (ABE)" | |||||
.%R "internet draft" | |||||
.%D "February 2018" | |||||
.%N "draft-ietf-tcpm-alternativebackoff-ecn" | |||||
.%O "work in progress" | |||||
.Re | |||||
.Sh ACKNOWLEDGEMENTS | .Sh ACKNOWLEDGEMENTS | ||||
Development and testing of this software were made possible in part by grants | Development and testing of this software were made possible in part by grants | ||||
from the FreeBSD Foundation and Cisco University Research Program Fund at | from the FreeBSD Foundation and Cisco University Research Program Fund at | ||||
Community Foundation Silicon Valley. | Community Foundation Silicon Valley. | ||||
.Sh HISTORY | .Sh HISTORY | ||||
The | The | ||||
.Nm | .Nm | ||||
congestion control algorithm first appeared in its modular form in | congestion control algorithm first appeared in its modular form in | ||||
Show All 11 Lines | |||||
.An -nosplit | .An -nosplit | ||||
The | The | ||||
.Nm | .Nm | ||||
congestion control module was written by | congestion control module was written by | ||||
.An James Healy Aq Mt jimmy@deefa.com , | .An James Healy Aq Mt jimmy@deefa.com , | ||||
.An Lawrence Stewart Aq Mt lstewart@FreeBSD.org | .An Lawrence Stewart Aq Mt lstewart@FreeBSD.org | ||||
and | and | ||||
.An David Hayes Aq Mt david.hayes@ieee.org . | .An David Hayes Aq Mt david.hayes@ieee.org . | ||||
.Pp | |||||
Support for TCP ABE was added by | |||||
.An Tom Jones Aq Mt tj@enoti.me . | |||||
.Pp | .Pp | ||||
This manual page was written by | This manual page was written by | ||||
.An Lawrence Stewart Aq Mt lstewart@FreeBSD.org . | .An Lawrence Stewart Aq Mt lstewart@FreeBSD.org . |