56724aa434
This adds a CCID3 debug option to the configuration menu which is missing in Kconfig, but already used by the code. CCID 2 already provides such an entry. To enable debugging, set CONFIG_IP_DCCP_CCID3_DEBUG=y NOTE: The use of ccid3_{t,r}x_state_name is safe, since now only enum values can appear. Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
93 lines
3.2 KiB
Plaintext
93 lines
3.2 KiB
Plaintext
menu "DCCP CCIDs Configuration (EXPERIMENTAL)"
|
|
depends on IP_DCCP && EXPERIMENTAL
|
|
|
|
config IP_DCCP_CCID2
|
|
tristate "CCID2 (TCP-Like) (EXPERIMENTAL)"
|
|
depends on IP_DCCP
|
|
def_tristate IP_DCCP
|
|
select IP_DCCP_ACKVEC
|
|
---help---
|
|
CCID 2, TCP-like Congestion Control, denotes Additive Increase,
|
|
Multiplicative Decrease (AIMD) congestion control with behavior
|
|
modelled directly on TCP, including congestion window, slow start,
|
|
timeouts, and so forth [RFC 2581]. CCID 2 achieves maximum
|
|
bandwidth over the long term, consistent with the use of end-to-end
|
|
congestion control, but halves its congestion window in response to
|
|
each congestion event. This leads to the abrupt rate changes
|
|
typical of TCP. Applications should use CCID 2 if they prefer
|
|
maximum bandwidth utilization to steadiness of rate. This is often
|
|
the case for applications that are not playing their data directly
|
|
to the user. For example, a hypothetical application that
|
|
transferred files over DCCP, using application-level retransmissions
|
|
for lost packets, would prefer CCID 2 to CCID 3. On-line games may
|
|
also prefer CCID 2.
|
|
|
|
CCID 2 is further described in RFC 4341,
|
|
http://www.ietf.org/rfc/rfc4341.txt
|
|
|
|
This text was extracted from RFC 4340 (sec. 10.1),
|
|
http://www.ietf.org/rfc/rfc4340.txt
|
|
|
|
To compile this CCID as a module, choose M here: the module will be
|
|
called dccp_ccid2.
|
|
|
|
If in doubt, say M.
|
|
|
|
config IP_DCCP_CCID2_DEBUG
|
|
bool "CCID2 debugging messages"
|
|
depends on IP_DCCP_CCID2
|
|
---help---
|
|
Enable CCID2-specific debugging messages.
|
|
|
|
When compiling CCID2 as a module, this debugging output can
|
|
additionally be toggled by setting the ccid2_debug module
|
|
parameter to 0 or 1.
|
|
|
|
If in doubt, say N.
|
|
|
|
config IP_DCCP_CCID3
|
|
tristate "CCID3 (TCP-Friendly) (EXPERIMENTAL)"
|
|
depends on IP_DCCP
|
|
def_tristate IP_DCCP
|
|
---help---
|
|
CCID 3 denotes TCP-Friendly Rate Control (TFRC), an equation-based
|
|
rate-controlled congestion control mechanism. TFRC is designed to
|
|
be reasonably fair when competing for bandwidth with TCP-like flows,
|
|
where a flow is "reasonably fair" if its sending rate is generally
|
|
within a factor of two of the sending rate of a TCP flow under the
|
|
same conditions. However, TFRC has a much lower variation of
|
|
throughput over time compared with TCP, which makes CCID 3 more
|
|
suitable than CCID 2 for applications such streaming media where a
|
|
relatively smooth sending rate is of importance.
|
|
|
|
CCID 3 is further described in RFC 4342,
|
|
http://www.ietf.org/rfc/rfc4342.txt
|
|
|
|
The TFRC congestion control algorithms were initially described in
|
|
RFC 3448.
|
|
|
|
This text was extracted from RFC 4340 (sec. 10.2),
|
|
http://www.ietf.org/rfc/rfc4340.txt
|
|
|
|
To compile this CCID as a module, choose M here: the module will be
|
|
called dccp_ccid3.
|
|
|
|
If in doubt, say M.
|
|
|
|
config IP_DCCP_TFRC_LIB
|
|
depends on IP_DCCP_CCID3
|
|
def_tristate IP_DCCP_CCID3
|
|
|
|
config IP_DCCP_CCID3_DEBUG
|
|
bool "CCID3 debugging messages"
|
|
depends on IP_DCCP_CCID3
|
|
---help---
|
|
Enable CCID3-specific debugging messages.
|
|
|
|
When compiling CCID3 as a module, this debugging output can
|
|
additionally be toggled by setting the ccid3_debug module
|
|
parameter to 0 or 1.
|
|
|
|
If in doubt, say N.
|
|
endmenu
|