[DCCP]: Fix CCID3
authorIan McDonald <ian.mcdonald@jandi.co.nz>
Sun, 27 Aug 2006 06:40:50 +0000 (23:40 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 27 Aug 2006 06:40:50 +0000 (23:40 -0700)
commit66a377c5041e1e399633153c8b500d457281e7c1
tree9fa32d0504bf0a58181edb77940e0709f3f954a5
parent3a13813e6effcfad5910d47b15b724621b50b878
[DCCP]: Fix CCID3

This fixes CCID3 to give much closer performance to RFC4342.

CCID3 is meant to alter sending rate based on RTT and loss.

The performance was verified against:
http://wand.net.nz/~perry/max_download.php

For example I tested with netem and had the following parameters:
Delayed Acks 1, MSS 256 bytes, RTT 105 ms, packet loss 5%.

This gives a theoretical speed of 71.9 Kbits/s. I measured across three
runs with this patch set and got 70.1 Kbits/s. Without this patchset the
average was 232 Kbits/s which means Linux can't be used for CCID3 research
properly.

I also tested with netem turned off so box just acting as router with 1.2
msec RTT. The performance with this is the same with or without the patch
at around 30 Mbit/s.

Signed off by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/dccp/ccids/ccid3.c
net/dccp/ccids/ccid3.h
net/dccp/ccids/lib/loss_interval.c
net/dccp/ccids/lib/loss_interval.h
net/dccp/ccids/lib/packet_history.c
net/dccp/ccids/lib/packet_history.h