: Provide fallback RTT value when none is available
PATCH 2/6 : Provide fallback RTT value when none is available
[DCCP]: Provide fallback RTT value when none is available
This implements RFC 4340, section 3.4:
"Each DCCP implementation thus defines a default round-trip time
for use when no estimate is available. This parameter should default to not less than 0.2 seconds [...]."
In addition, the upper bound of 4 seconds for an RTT sample has now been reduced, to 3 seconds: to match the initial TCP RTO value as specified in [RFC 1122, 4.2.3.1].
--- net/dccp/dccp.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
net/dccp/dccp.h +5 -2
@@ -73,9 +73,12 @@ extern void dccp_time_wait(struct sock *#define DCCP_RTO_MAX ((unsigned)(120 * HZ))/* FIXME: using TCP value */ -/* bounds for sampled RTT values from packet exchanges (in usec) */ +/* +* RTT sampling: sanity bounds and fallback RTT value from RFC 4340, section 3.4 +*/ #define DCCP_SANE_RTT_MIN 100 -#define DCCP_SANE_RTT_MAX (4 * USEC_PER_SEC) +#define DCCP_FALLBACK_RTT (USEC_PER_SEC / 5) +#define DCCP_SANE_RTT_MAX (3 * USEC_PER_SEC)/* Maximal interval between probes for local resources. */ #define DCCP_RESOURCE_PROBE_INTERVAL ((unsigned)(HZ / 2U))
Quoted 24 lines · Gerrit Renker
[DCCP]: Provide fallback RTT value when none is available
This implements RFC 4340, section 3.4:
"Each DCCP implementation thus defines a default round-trip time
for use when no estimate is available. This parameter should default to not less than 0.2 seconds [...]."In addition, the upper bound of 4 seconds for an RTT sample has now been reduced, to 3 seconds: to match the initial TCP RTO value as specified in [RFC 1122, 4.2.3.1].
Signed-off-by Gerrit Renker <[email protected]>--- net/dccp/dccp.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)net/dccp/dccp.h +0
-1@@ -73,9 +73,12 @@ extern void dccp_time_wait(struct sock *#define DCCP_RTO_MAX ((unsigned)(120 * HZ))/* FIXME: using TCP value */ -/* bounds for sampled RTT values from packet exchanges (in usec) */
net/dccp/dccp.h extern void dccp_time_wait(struct sock * · line 84
Quoted 10 lines
net/dccp/dccp.h +5
-1+/* +* RTT sampling: sanity bounds and fallback RTT value from RFC 4340, section 3.4 +*/ #define DCCP_SANE_RTT_MIN 100 -#define DCCP_SANE_RTT_MAX (4 * USEC_PER_SEC) +#define DCCP_FALLBACK_RTT (USEC_PER_SEC / 5) +#define DCCP_SANE_RTT_MAX (3 * USEC_PER_SEC)/* Maximal interval between probes for local resources. */ #define DCCP_RESOURCE_PROBE_INTERVAL ((unsigned)(HZ / 2U))
I personally think this patch should include the changes where this occurs in the code but I know these are in separate patches.
Signature · 3 lines
Web: http://wand.net.nz/~iam4/ Blog: http://iansblog.jandi.co.nz WAND Network Research Group
| > [DCCP]: Provide fallback RTT value when none is available | > @@ -73,9 +73,12 @@ extern void dccp_time_wait(struct sock * | > | > #define DCCP_RTO_MAX ((unsigned)(120 * HZ)) /* FIXME: using TCP value */ | > | > -/* bounds for sampled RTT values from packet exchanges (in usec) */ | > +/* | > + * RTT sampling: sanity bounds and fallback RTT value from RFC 4340, section 3.4 | > + */ | > #define DCCP_SANE_RTT_MIN 100 | > -#define DCCP_SANE_RTT_MAX (4 * USEC_PER_SEC) | > +#define DCCP_FALLBACK_RTT (USEC_PER_SEC / 5)
<snip>
| | I personally think this patch should include the changes where this | occurs in the code but I know these are in separate patches. | I have just checked - the place it is actually used is indeed a bit later in the change set, in receiver RTT sampling, it is here: http://www.mail-archive.com/[email protected]/msg01868.html
+ if (hcrx->ccid3hcrx_rtt = 0) {
+ DCCP_WARN("No RTT estimate available, using fallback RTT\n");
+ hcrx->ccid3hcrx_rtt = DCCP_FALLBACK_RTT;
}
But this patch is also generic: RFC 4340 says that this value (which agrees with TCP-like values) can be used wherever there is no fallback.
Quoted 4 lines · Gerrit Renker
[DCCP]: Provide fallback RTT value when none is available
This implements RFC 4340, section 3.4:
Quoted 8 lines
"Each DCCP implementation thus defines a default round-trip time
for use when no estimate is available. This parameter should default to not less than 0.2 seconds [...]."In addition, the upper bound of 4 seconds for an RTT sample has now been reduced, to 3 seconds: to match the initial TCP RTO value as specified in [RFC 1122, 4.2.3.1].
Signed-off-by Gerrit Renker <[email protected]>
I signed off on this on June 16th but this seems to have got lost so: