Skip to content

: Use RTT of SYN exchange & Patchv2

Gerrit Renker dccp 1 version In review

Get series with b4
b4 am 200701231540.39765@strip-the-willow

Versions newest first

  1. v1 Latest6 of 7 patches 11 repliesIn review

6 of 7 patches are in this archive. The cover letter announces 7.

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
2/7: Wrap computation of RFC3390-initial rate into separate functionnet/dccp/ccids/ccid3.c+18 -63 replies
3/7: Handle Idle and Application-Limited periodsnet/dccp/ccids/ccid3.c+38 -411 reply
4/7: Provide function for RTT samplingnet/dccp/dccp.h net/dccp/input.c+48 -23 replies
5/7: Use function for CCID 3 RTT samplingnet/dccp/ccids/ccid3.c net/dccp/ccids/ccid3.h+11 -411 reply
6/7: Sample RTT from SYN exchangeinclude/linux/dccp.h net/dccp/input.c net/dccp/options.c+18 -02 replies
7/7: Use initial RTT sample from SYN exchangenet/dccp/ccids/ccid3.c+16 -70 replies

Reviews trailers per patch

3 of 6 patches have a Reviewed-by or Acked-by.

PatchIan McDonald
2/7
3/7A-b
4/7A-b
5/7A-b
6/7
7/7

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/7]: Use RTT of SYN exchange & Patchv2

This is
* one revised re-sent (Patch 1)
* a larger patch split into six (to make review easier), implementing the use of SYN-exchange RTT sample to boost the performance of CCID 3. It is kept generic, so that it could be reused later.

I have compiled on x86, SMP and sparc64 and tested on x86. The performance was pretty good, suddenly in later stages the dccp_probe results were quieter (still oscillating during slow-start).

Patch 1: Is Patchv2 for
http://www.erg.abdn.ac.uk/users/gerrit/dccp/patch-backlog/4e_suseconds_t_64-bit-warning.diff
I have removed the `unsigned' casts. Thanks Ian.

Patch 2: Provides a new function rfc3390_initial_rate() for the initial sending rate.

Patch 3: Idle and application limited periods: this correctly implements [RFC 4342, 5.1] in that
the sending rate shall not be reduced below the rfc3390_initial_rate() in an idle period.

Patch 4: DCCP library function for sampling RTTs from packet exchanges.
RTTs are actually sampled quite often in the DCCP code, and so providing a function for this purpose makes sense (it is applied a patch below).

Patch 5: This applies the new function, dccp_sample_rtt(), to replace existing uses.

Patch 6: Sampling RTT from SYN (initial Request/Response) exchange. This implements the recommendation
in the erratum to RFC 4342 and in draft-ietf-dccp-rfc3448bis. The sampling works by adding a timestamp option to the open()ing Request, and catching timestamp echo option on the matching Response. The result is obtained via dccp_sample_rtt() and stored in dccp_sock() so that CCIDs can use it. No extra field required for this, due to exploiting an existing / unused field of dccp_sock via alias.

Patch 7: Implements the use of SYN-exchange RTT for CCID 3, using the mechanism defined in rfc3448bis.

The lot has been uploaded to http://www.erg.abdn.ac.uk/users/gerrit/dccp/patch-backlog