cc_newreno4freebsd
Newreno congestion control algorithm
Usage
#include <netinet/cc/cc_newreno.h>
Overview
The NewReno congestion control algorithm is the default for TCP. Details about the algorithm can be found in RFC5681.
Options
The cc_newreno module supports a number of socket options under TCP_CCALGOOPT (refer to tcp(4) and moc_cc(9) for details) which can be set with setsockopt(2) and tested with getsockopt(2). The cc_newreno socket options use this structure defined in <sys/netinet/cc/cc_newreno.h>:
struct cc_newreno_opts {
int name;
uint32_t val;
}
- 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.
- 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 net.inet.tcp.cc.abe=1 per: cwnd = (cwnd * CC_NEWRENO_BETA_ECN) / 100. Default is 80.
MIB Variables
The algorithm exposes these variables in the net.inet.tcp.cc.newreno branch of the sysctl(3) MIB:
- 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.
- beta_ecn
-
Multiplicative window decrease factor, specified as a percentage, applied to the congestion window in response to an ECN congestion signal when net.inet.tcp.cc.abe=1 per: cwnd = (cwnd * beta_ecn) / 100. Default is 80.
Acknowledgements
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.
Releases
6 releases since Debian 8 (Jessie); the text changed 3 times.