upload tizen1.0 source
[kernel/linux-2.6.36.git] / net / dccp / ccids / Kconfig
1 menu "DCCP CCIDs Configuration (EXPERIMENTAL)"
2         depends on EXPERIMENTAL
3
4 config IP_DCCP_CCID2_DEBUG
5         bool "CCID-2 debugging messages"
6         ---help---
7           Enable CCID-2 specific debugging messages.
8
9           The debugging output can additionally be toggled by setting the
10           ccid2_debug parameter to 0 or 1.
11
12           If in doubt, say N.
13
14 config IP_DCCP_CCID3
15         bool "CCID-3 (TCP-Friendly) (EXPERIMENTAL)"
16         def_bool y if (IP_DCCP = y || IP_DCCP = m)
17         ---help---
18           CCID-3 denotes TCP-Friendly Rate Control (TFRC), an equation-based
19           rate-controlled congestion control mechanism.  TFRC is designed to
20           be reasonably fair when competing for bandwidth with TCP-like flows,
21           where a flow is "reasonably fair" if its sending rate is generally
22           within a factor of two of the sending rate of a TCP flow under the
23           same conditions.  However, TFRC has a much lower variation of
24           throughput over time compared with TCP, which makes CCID-3 more
25           suitable than CCID-2 for applications such streaming media where a
26           relatively smooth sending rate is of importance.
27
28           CCID-3 is further described in RFC 4342,
29           http://www.ietf.org/rfc/rfc4342.txt
30
31           The TFRC congestion control algorithms were initially described in
32           RFC 5348.
33
34           This text was extracted from RFC 4340 (sec. 10.2),
35           http://www.ietf.org/rfc/rfc4340.txt
36
37           If in doubt, say N.
38
39 config IP_DCCP_CCID3_DEBUG
40         bool "CCID-3 debugging messages"
41         depends on IP_DCCP_CCID3
42         ---help---
43           Enable CCID-3 specific debugging messages.
44
45           The debugging output can additionally be toggled by setting the
46           ccid3_debug parameter to 0 or 1.
47
48           If in doubt, say N.
49
50 config IP_DCCP_CCID3_RTO
51           int "Use higher bound for nofeedback timer"
52           default 100
53           depends on IP_DCCP_CCID3 && EXPERIMENTAL
54           ---help---
55             Use higher lower bound for nofeedback timer expiration.
56
57             The TFRC nofeedback timer normally expires after the maximum of 4
58             RTTs and twice the current send interval (RFC 3448, 4.3). On LANs
59             with a small RTT this can mean a high processing load and reduced
60             performance, since then the nofeedback timer is triggered very
61             frequently.
62
63             This option enables to set a higher lower bound for the nofeedback
64             value. Values in units of milliseconds can be set here.
65
66             A value of 0 disables this feature by enforcing the value specified
67             in RFC 3448. The following values have been suggested as bounds for
68             experimental use:
69                 * 16-20ms to match the typical multimedia inter-frame interval
70                 * 100ms as a reasonable compromise [default]
71                 * 1000ms corresponds to the lower TCP RTO bound (RFC 2988, 2.4)
72
73             The default of 100ms is a compromise between a large value for
74             efficient DCCP implementations, and a small value to avoid disrupting
75             the network in times of congestion.
76
77             The purpose of the nofeedback timer is to slow DCCP down when there
78             is serious network congestion: experimenting with larger values should
79             therefore not be performed on WANs.
80
81 config IP_DCCP_TFRC_LIB
82         def_bool y if IP_DCCP_CCID3
83
84 config IP_DCCP_TFRC_DEBUG
85         def_bool y if IP_DCCP_CCID3_DEBUG
86 endmenu