Re: [patch] acks delayed and then merged in data-segment sent a bit

David Miller (davem@twiddle.net)
Mon, 1 Mar 1999 20:45:18 -0800


Date: Tue, 2 Mar 1999 02:56:05 +0100 (CET)
From: Andrea Arcangeli <andrea@e-mind.com>

Here a patch against 2.2.2. I did not tried the code yet. In the
TCP_NODELAY case we probably want to do raw things (without caring
about network load).

No way is this patch going in. You can not remove the immedate ack to
the first data packet without considering the consequences deeply.

An RFC compliant stack will send one data packet (no matter how much
is queued) because he (should) have a congestion window of 1,
therefore he cannot send any more data until he gets an ACK back (at
which point he is allowed to send 2 packets, and so on).

Your patch broke this.

There is a side note, many BSD stacks are not RFC compliant for
congestion window calculations because they do the congestion window
adjustments even for acks of SYN and SYN/ACK packets, this is wrong.
This is what I think is really going on with the NT machines. However
I will not accept a fix which doesn't handle broken BSD stacks _and_
properly functioning stacks satisfactorily. Your patch does not, it
penalizes the correct implementation.

Later,
David S. Miller
davem@redhat.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/