Hi Andre, When delayed Ack is set the window update is not sent. Does this mean when odd number of packets are received and later read, a window update won't go out either till the next segment arrives or 200 msecs delayed ack timer ? Can this reduced window block the sender from sending the next segment that we are waiting for to open up the window ?
What's the purpose of the 2 MSS check by the way ? Venkat ________________________________ From: Andre Oppermann <[EMAIL PROTECTED]> To: David Malone <[EMAIL PROTECTED]> Cc: Rui Paulo <[EMAIL PROTECTED]>; freebsd-net@freebsd.org; Venkat Venkatsubra <[EMAIL PROTECTED]>; Kevin Oberman <[EMAIL PROTECTED]> Sent: Sunday, November 30, 2008 5:18:22 PM Subject: Re: FreeBSD Window updates Andre Oppermann wrote: > David Malone wrote: >> I've got an example extract tcpdump of this at the end of the mail >> - here 6 ACKs are sent, 5 of which are pure window updates and >> several are 2us apart! >> >> I think the easy option is to delete the code that generates explicit >> window updates if the window moves by 2*MSS. We then should be doing >> something similar to Linux. The other easy alternative would be to >> add a sysclt that lets us generate an window update every N*MSS and >> by default set it to something big, like 10 or 100. That should >> effectively eliminate the updates during bulk data transfer, but >> may still generate some window updates after a loss. > > The main problem of the pure window update test in tcp_output() is > its complete ignorance of delayed ACKs. Second is the strict 4.4BSD > adherence to sending an update for every window increase of >= 2*MSS. > The third issue of sending a slew of window updates after having > received a FIN (telling us the other end won't ever send more data) > I have already fixed some moons ago. > > In my new-tcp work I've come across the window update logic some time > ago and backchecked with relevant RFCs and other implementations. > Attached is a compiling but otherwise untested backport of the new logic. Slightly improved version attached. -- Andre _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "[EMAIL PROTECTED]"