Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
MOD_CC(4)		 BSD Kernel Interfaces Manual		     MOD_CC(4)

     mod_cc -- Modular congestion control

     The modular congestion control framework allows the TCP implementation to
     dynamically change	the congestion control algorithm used by new and ex-
     isting connections.  Algorithms are identified by a unique	ascii(7) name.
     Algorithm modules can be compiled into the	kernel or loaded as kernel
     modules using the kld(4) facility.

     The default algorithm is NewReno, and all connections use the default un-
     less explicitly overridden	using the TCP_CONGESTION socket	option (see
     tcp(4) for	details).  The default can be changed using a sysctl(3)	MIB
     variable detailed in the MIB Variables section below.

     Algorithm specific	parameters can be set or queried using the
     TCP_CCALGOOPT socket option (see tcp(4) for details).  Callers must pass
     a pointer to an algorithm specific	data, and specify its size.

MIB Variables
     The framework exposes the following variables in the
     branch of the sysctl(3) MIB:

     available	       Read-only list of currently available congestion	con-
		       trol algorithms by name.

     algorithm	       Returns the current default congestion control algo-
		       rithm 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 MIB variable.

     abe	       Enable support for RFC 8511, which alters the window
		       decrease	factor applied to the congestion window	in re-
		       sponse to an ECN	congestion signal.  Refer to individ-
		       ual congestion control man pages	to determine if	they
		       implement support for ABE and for configuration de-

     abe_frlossreduce  If non-zero, apply standard beta	instead	of ABE-beta
		       during ECN-signalled congestion recovery	episodes if
		       loss also needs to be repaired.

     cc_cdg(4),	cc_chd(4), cc_cubic(4),	cc_dctcp(4), cc_hd(4), cc_htcp(4),
     cc_newreno(4), cc_vegas(4), tcp(4), mod_cc(9)

     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.

     The mod_cc	modular	congestion control framework first appeared in
     FreeBSD 9.0.

     The framework was first released in 2007 by James Healy and Lawrence
     Stewart whilst working on the NewTCP research project at Swinburne	Uni-
     versity of	Technology's Centre for	Advanced Internet Architectures, Mel-
     bourne, 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:

     The mod_cc	facility was written by	Lawrence Stewart
     <>, James Healy <> and David Hayes

     This manual page was written by David Hayes <>	and
     Lawrence Stewart <>.

BSD				August 6, 2019				   BSD


Want to link to this manual page? Use this URL:

home | help