dccp ccid-2: prevent cwnd > Sequence Window
authorSamuel Jero <sj323707@ohio.edu>
Mon, 25 Jul 2011 02:49:19 +0000 (20:49 -0600)
committerGerrit Renker <gerrit@erg.abdn.ac.uk>
Mon, 1 Aug 2011 13:52:35 +0000 (07:52 -0600)
commitd346d886a4c7f771c184e73833133f23a18de884
treeb30d5ea65d37af5dd49f03712ae2f973bc71553b
parent31daf0393fbb17cf6efe613fb538a3ea4b5202e4
dccp ccid-2: prevent cwnd > Sequence Window

Add a check to prevent CCID-2 from increasing the cwnd greater than the
Sequence Window.

When the congestion window becomes bigger than the Sequence Window, CCID-2
will attempt to keep more data in the network than the DCCP Sequence Window
code considers possible. This results in the Sequence Window code issuing
a Sync, thereby inducing needless overhead. Further, if this occurs at the
sender, CCID-2 will never detect the problem because the Acks it receives
will indicate no losses. I have seen this cause a drop of 1/3rd in throughput
for a connection.

Also add code to adjust the Sequence Window to be about 5 times the number of
packets in the network (RFC 4340, 7.5.2) and to adjust the Ack Ratio so that
the remote Sequence Window will hold about 5 times the number of packets in
the network. This allows the congestion window to increase correctly without
being limited by the Sequence Window.

Signed-off-by: Samuel Jero <sj323707@ohio.edu>
Acked-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
net/dccp/ccids/ccid2.c
net/dccp/ccids/ccid2.h