Re: TCP window updates [Was: PROBLEM: Sending mail-attachment]

Matthias Moeller (mattes@ice.robin.de)
Tue, 9 Mar 1999 15:21:56 +0100 (CET)


On Mon, 8 Mar 1999, David Miller wrote:

> People seem to have their understanding of these roles reversed.
> Or am I misreading things? Anyways, I'm studying this more deeply
> right now.

You are right, Andrea and me where wrong. Anyway I think I got closer
now. The point seems to be in tcp_v4_sendmsg():

if(tp->send_head && tcp_snd_test(sk, tp->send_head))
tcp_write_xmit(sk);

This should put data on the wire if

1. there are no packets in flight.
2. we are not retransmitting.
3. the right edge of the frame does not exceed receivers window.

Actually point 3. fails when I get the stall.

Your fix in cleanup_rbuf() makes the receiver send window updates
but these might get lost in the network. There is no retrans timer
because all data has been acked.

Matthias

-
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/