]> bbs.cooldavid.org Git - net-next-2.6.git/blame - net/dccp/ccids/Kconfig
dccp: Integrate the TFRC library with DCCP
[net-next-2.6.git] / net / dccp / ccids / Kconfig
CommitLineData
7c657876 1menu "DCCP CCIDs Configuration (EXPERIMENTAL)"
6d57b43b 2 depends on EXPERIMENTAL
7c657876 3
8d424f6c 4config IP_DCCP_CCID2_DEBUG
ddebc973
GR
5 bool "CCID-2 debugging messages"
6 ---help---
7 Enable CCID-2 specific debugging messages.
84116716 8
ddebc973
GR
9 The debugging output can additionally be toggled by setting the
10 ccid2_debug parameter to 0 or 1.
8d424f6c 11
ddebc973 12 If in doubt, say N.
8d424f6c 13
7c657876 14config IP_DCCP_CCID3
ddebc973
GR
15 bool "CCID-3 (TCP-Friendly) (EXPERIMENTAL)"
16 def_bool y if (IP_DCCP = y || IP_DCCP = m)
7c657876 17 ---help---
ddebc973 18 CCID-3 denotes TCP-Friendly Rate Control (TFRC), an equation-based
7c657876
ACM
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
ddebc973
GR
24 throughput over time compared with TCP, which makes CCID-3 more
25 suitable than CCID-2 for applications such streaming media where a
7c657876
ACM
26 relatively smooth sending rate is of importance.
27
ddebc973 28 CCID-3 is further described in RFC 4342,
0e64e94e 29 http://www.ietf.org/rfc/rfc4342.txt
2a91aa39
AB
30
31 The TFRC congestion control algorithms were initially described in
ddebc973 32 RFC 5448.
7c657876 33
0e64e94e
GR
34 This text was extracted from RFC 4340 (sec. 10.2),
35 http://www.ietf.org/rfc/rfc4340.txt
84116716 36
ddebc973 37 If in doubt, say N.
7c657876 38
56724aa4 39config IP_DCCP_CCID3_DEBUG
ddebc973
GR
40 bool "CCID-3 debugging messages"
41 depends on IP_DCCP_CCID3
42 ---help---
43 Enable CCID-3 specific debugging messages.
56724aa4 44
ddebc973
GR
45 The debugging output can additionally be toggled by setting the
46 ccid3_debug parameter to 0 or 1.
56724aa4 47
ddebc973 48 If in doubt, say N.
8a508ac2
GR
49
50config 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
c40616c5 81config IP_DCCP_TFRC_LIB
129fa447 82 def_bool y if IP_DCCP_CCID3
c40616c5
GR
83
84config IP_DCCP_TFRC_DEBUG
129fa447 85 def_bool y if IP_DCCP_CCID3_DEBUG
7c657876 86endmenu