Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6] / net / dccp / ccids / Kconfig
1 menu "DCCP CCIDs Configuration (EXPERIMENTAL)"
2         depends on IP_DCCP && EXPERIMENTAL
3
4 config IP_DCCP_CCID2
5         tristate "CCID2 (TCP-Like) (EXPERIMENTAL)"
6         depends on IP_DCCP
7         def_tristate IP_DCCP
8         select IP_DCCP_ACKVEC
9         ---help---
10           CCID 2, TCP-like Congestion Control, denotes Additive Increase,
11           Multiplicative Decrease (AIMD) congestion control with behavior
12           modelled directly on TCP, including congestion window, slow start,
13           timeouts, and so forth [RFC 2581].  CCID 2 achieves maximum
14           bandwidth over the long term, consistent with the use of end-to-end
15           congestion control, but halves its congestion window in response to
16           each congestion event.  This leads to the abrupt rate changes
17           typical of TCP.  Applications should use CCID 2 if they prefer
18           maximum bandwidth utilization to steadiness of rate.  This is often
19           the case for applications that are not playing their data directly
20           to the user.  For example, a hypothetical application that
21           transferred files over DCCP, using application-level retransmissions
22           for lost packets, would prefer CCID 2 to CCID 3.  On-line games may
23           also prefer CCID 2.
24
25           CCID 2 is further described in:
26           http://www.icir.org/kohler/dccp/draft-ietf-dccp-ccid2-10.txt
27
28           This text was extracted from:
29           http://www.icir.org/kohler/dccp/draft-ietf-dccp-spec-13.txt
30
31           If in doubt, say M.
32
33 config IP_DCCP_CCID2_DEBUG
34           bool "CCID2 debug"
35           depends on IP_DCCP_CCID2
36           ---help---
37             Enable CCID2 debug messages.
38
39             If in doubt, say N.
40
41 config IP_DCCP_CCID3
42         tristate "CCID3 (TCP-Friendly) (EXPERIMENTAL)"
43         depends on IP_DCCP
44         def_tristate IP_DCCP
45         ---help---
46           CCID 3 denotes TCP-Friendly Rate Control (TFRC), an equation-based
47           rate-controlled congestion control mechanism.  TFRC is designed to
48           be reasonably fair when competing for bandwidth with TCP-like flows,
49           where a flow is "reasonably fair" if its sending rate is generally
50           within a factor of two of the sending rate of a TCP flow under the
51           same conditions.  However, TFRC has a much lower variation of
52           throughput over time compared with TCP, which makes CCID 3 more
53           suitable than CCID 2 for applications such streaming media where a
54           relatively smooth sending rate is of importance.
55
56           CCID 3 is further described in:
57
58           http://www.icir.org/kohler/dccp/draft-ietf-dccp-ccid3-11.txt.
59
60           The TFRC congestion control algorithms were initially described in
61           RFC 3448.
62
63           This text was extracted from:
64           http://www.icir.org/kohler/dccp/draft-ietf-dccp-spec-13.txt
65           
66           If in doubt, say M.
67
68 config IP_DCCP_TFRC_LIB
69         depends on IP_DCCP_CCID3
70         def_tristate IP_DCCP_CCID3
71
72 endmenu