Re: select()/socket has problems under 2.2.x.

Kris Karas (ktk@ktk.bidmc.harvard.edu)
Tue, 09 Mar 1999 13:42:12 -0500


Alexey writes:

> Packets are dropped when they do not fit to output device queue
> (On ppp it is 10 packets by default).

Hi Alexey,

What is the mechanism that holds off the sender of data until there is room in the
transmit buffer for another packet? If the sender is an FTP server, for example,
something must cause its write() call to block until there is room in the buffer.

Due to the transmit serial buffer, the returned ACKs seen at the sending side lag
the sending sequence number by about 13,000 (with default mru/mtu of 1500 = mss 1460
= 1448 data bytes/packet). Yet this maximum difference is small compared to the
advertised window sizes (32120). The missed packet I see in one particular trace
occurs when the sender sequence minus the receiver sequence is about 9,000.

Do you have any suggestions on how I can debug this? I've been frustrated with this
problem for quite awhile now; the "bug" has appeared since somewhere around 2.1.9x
or so. I've had to ftp my files from my ppp server over to an HPUX box, then ftp
them from there back to home (routing by way of the ppp server again!) to make it
all work at the modem's advertised speed. :-/

Thanks! Kris

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