Subject: [ledbat] max cwnd

From: Mirja Kühlewind <[email-masked]>
Date: Tue, 15 Feb 2011 18:22:26 +0100

Hi again,

there is another line in the pseudo code:

	max_allowed_cwnd = ALLOWED_INCREASE + TETHER*flight_size()

The current spec says:
"ALLOWED_INCREASE SHOULD be 1 packet; it MUST be at least 1 packet and SHOULD 
NOT be more than 3 packets. TETHER SHOULD be 1.5; it MUST be greater than 
1. "

This is the cwnd limitation when there are no enough data to fill the cwnd.
As far as I can see the implementation in Linux would limit to
	
	max_allowed_cwnd = 3 + 1*flight_size().

3 is the default value for tcp_reordering which is the maximum a packet can be 
reordered in a TCP packet stream without TCP assuming packet loss and going 
into slow start.

In RFC 2861 its written 

	cwnd = (win + W_used)/2

which would be similar to 

	cwnd = (cwnd + fight_size()) / 2

(as far as I understood).

Can somebody tell me whats the right thing to do here?

Mirja