Arnaldo Carvalho de Melo | 7c65787 | 2005-08-09 20:14:34 -0700 | [diff] [blame] | 1 | menu "DCCP CCIDs Configuration (EXPERIMENTAL)" |
Gerrit Renker | 6d57b43 | 2007-11-21 10:11:52 -0200 | [diff] [blame] | 2 | depends on EXPERIMENTAL |
Arnaldo Carvalho de Melo | 7c65787 | 2005-08-09 20:14:34 -0700 | [diff] [blame] | 3 | |
Andrea Bittau | 8d424f6 | 2006-09-19 13:12:44 -0700 | [diff] [blame] | 4 | config IP_DCCP_CCID2_DEBUG |
Gerrit Renker | ddebc97 | 2009-01-04 21:42:53 -0800 | [diff] [blame] | 5 | bool "CCID-2 debugging messages" |
| 6 | ---help--- |
| 7 | Enable CCID-2 specific debugging messages. |
Gerrit Renker | 8411671 | 2006-11-20 18:26:03 -0200 | [diff] [blame] | 8 | |
Gerrit Renker | ddebc97 | 2009-01-04 21:42:53 -0800 | [diff] [blame] | 9 | The debugging output can additionally be toggled by setting the |
| 10 | ccid2_debug parameter to 0 or 1. |
Andrea Bittau | 8d424f6 | 2006-09-19 13:12:44 -0700 | [diff] [blame] | 11 | |
Gerrit Renker | ddebc97 | 2009-01-04 21:42:53 -0800 | [diff] [blame] | 12 | If in doubt, say N. |
Andrea Bittau | 8d424f6 | 2006-09-19 13:12:44 -0700 | [diff] [blame] | 13 | |
Arnaldo Carvalho de Melo | 7c65787 | 2005-08-09 20:14:34 -0700 | [diff] [blame] | 14 | config IP_DCCP_CCID3 |
Gerrit Renker | ddebc97 | 2009-01-04 21:42:53 -0800 | [diff] [blame] | 15 | bool "CCID-3 (TCP-Friendly) (EXPERIMENTAL)" |
| 16 | def_bool y if (IP_DCCP = y || IP_DCCP = m) |
Arnaldo Carvalho de Melo | 7c65787 | 2005-08-09 20:14:34 -0700 | [diff] [blame] | 17 | ---help--- |
Gerrit Renker | ddebc97 | 2009-01-04 21:42:53 -0800 | [diff] [blame] | 18 | CCID-3 denotes TCP-Friendly Rate Control (TFRC), an equation-based |
Arnaldo Carvalho de Melo | 7c65787 | 2005-08-09 20:14:34 -0700 | [diff] [blame] | 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 |
Gerrit Renker | ddebc97 | 2009-01-04 21:42:53 -0800 | [diff] [blame] | 24 | throughput over time compared with TCP, which makes CCID-3 more |
| 25 | suitable than CCID-2 for applications such streaming media where a |
Arnaldo Carvalho de Melo | 7c65787 | 2005-08-09 20:14:34 -0700 | [diff] [blame] | 26 | relatively smooth sending rate is of importance. |
| 27 | |
Gerrit Renker | ddebc97 | 2009-01-04 21:42:53 -0800 | [diff] [blame] | 28 | CCID-3 is further described in RFC 4342, |
Gerrit Renker | 0e64e94 | 2006-10-24 16:17:51 -0700 | [diff] [blame] | 29 | http://www.ietf.org/rfc/rfc4342.txt |
Andrea Bittau | 2a91aa3 | 2006-03-20 17:41:47 -0800 | [diff] [blame] | 30 | |
| 31 | The TFRC congestion control algorithms were initially described in |
Gerrit Renker | 4dbc242 | 2009-01-11 00:17:22 -0800 | [diff] [blame] | 32 | RFC 5348. |
Andrea Bittau | 2a91aa3 | 2006-03-20 17:41:47 -0800 | [diff] [blame] | 33 | |
Gerrit Renker | 0e64e94 | 2006-10-24 16:17:51 -0700 | [diff] [blame] | 34 | This text was extracted from RFC 4340 (sec. 10.2), |
| 35 | http://www.ietf.org/rfc/rfc4340.txt |
Gerrit Renker | 8411671 | 2006-11-20 18:26:03 -0200 | [diff] [blame] | 36 | |
Gerrit Renker | ddebc97 | 2009-01-04 21:42:53 -0800 | [diff] [blame] | 37 | If in doubt, say N. |
Arnaldo Carvalho de Melo | 7c65787 | 2005-08-09 20:14:34 -0700 | [diff] [blame] | 38 | |
Gerrit Renker | 56724aa | 2006-11-20 18:28:09 -0200 | [diff] [blame] | 39 | config IP_DCCP_CCID3_DEBUG |
Gerrit Renker | ddebc97 | 2009-01-04 21:42:53 -0800 | [diff] [blame] | 40 | bool "CCID-3 debugging messages" |
| 41 | depends on IP_DCCP_CCID3 |
| 42 | ---help--- |
| 43 | Enable CCID-3 specific debugging messages. |
Gerrit Renker | 56724aa | 2006-11-20 18:28:09 -0200 | [diff] [blame] | 44 | |
Gerrit Renker | ddebc97 | 2009-01-04 21:42:53 -0800 | [diff] [blame] | 45 | The debugging output can additionally be toggled by setting the |
| 46 | ccid3_debug parameter to 0 or 1. |
Gerrit Renker | 56724aa | 2006-11-20 18:28:09 -0200 | [diff] [blame] | 47 | |
Gerrit Renker | ddebc97 | 2009-01-04 21:42:53 -0800 | [diff] [blame] | 48 | If in doubt, say N. |
Gerrit Renker | 8a508ac | 2006-12-03 14:50:23 -0200 | [diff] [blame] | 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: |
Gerrit Renker | aa1b1ff | 2009-09-12 07:47:01 +0000 | [diff] [blame] | 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) |
Gerrit Renker | 8a508ac | 2006-12-03 14:50:23 -0200 | [diff] [blame] | 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 | |
Gerrit Renker | c40616c | 2007-12-06 12:26:38 -0200 | [diff] [blame] | 81 | config IP_DCCP_TFRC_LIB |
Gerrit Renker | 129fa44 | 2009-01-04 21:45:33 -0800 | [diff] [blame] | 82 | def_bool y if IP_DCCP_CCID3 |
Gerrit Renker | c40616c | 2007-12-06 12:26:38 -0200 | [diff] [blame] | 83 | |
| 84 | config IP_DCCP_TFRC_DEBUG |
Gerrit Renker | 129fa44 | 2009-01-04 21:45:33 -0800 | [diff] [blame] | 85 | def_bool y if IP_DCCP_CCID3_DEBUG |
Arnaldo Carvalho de Melo | 7c65787 | 2005-08-09 20:14:34 -0700 | [diff] [blame] | 86 | endmenu |