linux/net/dccp
Samuel Jero d346d886a4 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>
2011-08-01 07:52:35 -06:00
..
ccids dccp ccid-2: prevent cwnd > Sequence Window 2011-08-01 07:52:35 -06:00
ackvec.c dccp ccid-2: whitespace fix-up 2010-11-18 09:37:07 -08:00
ackvec.h dccp ccid-2: Separate option parsing from CCID processing 2010-11-15 07:12:01 +01:00
ccid.c dccp: cosmetics of info message 2011-07-04 12:37:13 -06:00
ccid.h dccp: Return-value convention of hc_tx_send_packet() 2010-10-28 10:27:00 -07:00
dccp.h dccp: support for the exchange of NN options in established state 1/2 2011-08-01 07:52:34 -06:00
diag.c dccp_diag: LISTEN sockets don't have CCIDs 2008-12-17 16:08:01 -08:00
feat.c dccp: send Confirm options only once 2011-08-01 07:52:35 -06:00
feat.h dccp: support for the exchange of NN options in established state 1/2 2011-08-01 07:52:34 -06:00
input.c dccp: Clean up slow-path input processing 2011-07-04 12:36:33 -06:00
ipv4.c ipv4: Make caller provide flowi4 key to inet_csk_route_req(). 2011-05-18 18:32:03 -04:00
ipv6.c inet: add RCU protection to inet->opt 2011-04-28 13:16:35 -07:00
ipv6.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
Kconfig Docs/Kconfig: Update: osdl.org -> linuxfoundation.org 2010-11-15 23:50:13 +01:00
Makefile dccp: Policy-based packet dequeueing infrastructure 2010-12-07 13:47:12 +01:00
minisocks.c dccp: fix the adjustments to AWL and SWL 2010-10-12 06:57:40 +02:00
options.c dccp: handle invalid feature options length 2011-05-06 13:05:50 -07:00
output.c dccp: combine the functionality of enqeueing and cloning 2011-07-04 12:36:47 -06:00
probe.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
proto.c dccp ccid-2: use feature-negotiation to report Ack Ratio changes 2011-08-01 07:52:35 -06:00
qpolicy.c dccp qpolicy: Parameter checking of cmsg qpolicy parameters 2010-12-07 13:47:12 +01:00
sysctl.c dccp: make upper bound for seq_window consistent on 32/64 bit 2011-01-07 12:22:44 +01:00
timer.c dccp: Refine the wait-for-ccid mechanism 2010-10-28 10:27:01 -07:00