1menu "DCCP CCIDs Configuration (EXPERIMENTAL)" 2 depends on EXPERIMENTAL 3 4config IP_DCCP_CCID2 5 tristate "CCID2 (TCP-Like) (EXPERIMENTAL)" 6 def_tristate IP_DCCP 7 ---help--- 8 CCID 2, TCP-like Congestion Control, denotes Additive Increase, 9 Multiplicative Decrease (AIMD) congestion control with behavior 10 modelled directly on TCP, including congestion window, slow start, 11 timeouts, and so forth [RFC 2581]. CCID 2 achieves maximum 12 bandwidth over the long term, consistent with the use of end-to-end 13 congestion control, but halves its congestion window in response to 14 each congestion event. This leads to the abrupt rate changes 15 typical of TCP. Applications should use CCID 2 if they prefer 16 maximum bandwidth utilization to steadiness of rate. This is often 17 the case for applications that are not playing their data directly 18 to the user. For example, a hypothetical application that 19 transferred files over DCCP, using application-level retransmissions 20 for lost packets, would prefer CCID 2 to CCID 3. On-line games may 21 also prefer CCID 2. See RFC 4341 for further details. 22 23 CCID2 is the default CCID used by DCCP. 24 25config IP_DCCP_CCID2_DEBUG 26 bool "CCID2 debugging messages" 27 depends on IP_DCCP_CCID2 28 ---help--- 29 Enable CCID2-specific debugging messages. 30 31 When compiling CCID2 as a module, this debugging output can 32 additionally be toggled by setting the ccid2_debug module 33 parameter to 0 or 1. 34 35 If in doubt, say N. 36 37config IP_DCCP_CCID3 38 tristate "CCID3 (TCP-Friendly) (EXPERIMENTAL)" 39 def_tristate IP_DCCP 40 select IP_DCCP_TFRC_LIB 41 ---help--- 42 CCID 3 denotes TCP-Friendly Rate Control (TFRC), an equation-based 43 rate-controlled congestion control mechanism. TFRC is designed to 44 be reasonably fair when competing for bandwidth with TCP-like flows, 45 where a flow is "reasonably fair" if its sending rate is generally 46 within a factor of two of the sending rate of a TCP flow under the 47 same conditions. However, TFRC has a much lower variation of 48 throughput over time compared with TCP, which makes CCID 3 more 49 suitable than CCID 2 for applications such streaming media where a 50 relatively smooth sending rate is of importance. 51 52 CCID 3 is further described in RFC 4342, 53 http://www.ietf.org/rfc/rfc4342.txt 54 55 The TFRC congestion control algorithms were initially described in 56 RFC 3448. 57 58 This text was extracted from RFC 4340 (sec. 10.2), 59 http://www.ietf.org/rfc/rfc4340.txt 60 61 To compile this CCID as a module, choose M here: the module will be 62 called dccp_ccid3. 63 64 If in doubt, say M. 65 66config IP_DCCP_CCID3_DEBUG 67 bool "CCID3 debugging messages" 68 depends on IP_DCCP_CCID3 69 ---help--- 70 Enable CCID3-specific debugging messages. 71 72 When compiling CCID3 as a module, this debugging output can 73 additionally be toggled by setting the ccid3_debug module 74 parameter to 0 or 1. 75 76 If in doubt, say N. 77 78config IP_DCCP_CCID3_RTO 79 int "Use higher bound for nofeedback timer" 80 default 100 81 depends on IP_DCCP_CCID3 && EXPERIMENTAL 82 ---help--- 83 Use higher lower bound for nofeedback timer expiration. 84 85 The TFRC nofeedback timer normally expires after the maximum of 4 86 RTTs and twice the current send interval (RFC 3448, 4.3). On LANs 87 with a small RTT this can mean a high processing load and reduced 88 performance, since then the nofeedback timer is triggered very 89 frequently. 90 91 This option enables to set a higher lower bound for the nofeedback 92 value. Values in units of milliseconds can be set here. 93 94 A value of 0 disables this feature by enforcing the value specified 95 in RFC 3448. The following values have been suggested as bounds for 96 experimental use: 97 * 16-20ms to match the typical multimedia inter-frame interval 98 * 100ms as a reasonable compromise [default] 99 * 1000ms corresponds to the lower TCP RTO bound (RFC 2988, 2.4) 100 101 The default of 100ms is a compromise between a large value for 102 efficient DCCP implementations, and a small value to avoid disrupting 103 the network in times of congestion. 104 105 The purpose of the nofeedback timer is to slow DCCP down when there 106 is serious network congestion: experimenting with larger values should 107 therefore not be performed on WANs. 108 109config IP_DCCP_TFRC_LIB 110 tristate 111 default n 112 113config IP_DCCP_TFRC_DEBUG 114 bool 115 depends on IP_DCCP_TFRC_LIB 116 default y if IP_DCCP_CCID3_DEBUG 117 118endmenu 119