Initial snd_cwnd in pre-patch-2.2.7-3 (net/ipv4/tcp_ipv4.c)

Cacophonix Gaul (
Sun, 25 Apr 1999 12:12:00 -0700 (PDT)

I'm really glad that snd_cwnd is being initialized to greater than
1 (even though the perf problems with certain clients are not the
fault of linux) :-)

However, why not go all the way up to the limits permitted by rfc 2414
( Specifically, the rfc suggests
that the upper bound on initial window should be:

min (4*MSS, max (2*MSS, 4380 bytes))

Of course, this violates rfc 2581, which requires cwnd <= 2*MSS, but
notes that rfc2414 permits this as an experimental extension.

Thus, if initial MSS=1460, then we are allowed an initial cwnd of 3.

Why do I think this is a big deal? Because, consider the case of
large web servers (or certain web benchmarks ;-) that get a large number
of requests for small files - _most_ of these are under 4380 bytes.
In cases such as these, it seems to make sense to be able to transmit
the entire file in 1 rtt.

In any case, I'm pretty happy with an initial snd_cwnd of 2, and will
play around with 3 to see if the difference is significant.


Do You Yahoo!?
Get your free address at

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at