Re: revision RFC 2001 (draft-ietf-tcpimpl-cong-control-00.txt)

Kacheong.Poon@eng.Sun.COM Thu, 13 August 1998 01:31 UTC

Return-Path: <owner-tcp-impl@relay.engr.sgi.com>
From: Kacheong.Poon@eng.Sun.COM
Date: Wed, 12 Aug 1998 18:31:06 -0700
Reply-To: Kacheong.Poon@eng.Sun.COM
Subject: Re: revision RFC 2001 (draft-ietf-tcpimpl-cong-control-00.txt)
To: Andi Kleen <ak@muc.de>
Cc: Kacheong Poon <Kacheong.Poon@eng.Sun.COM>, David Borman <dab@bsdi.com>, tcp-impl@cthulhu.engr.sgi.com, mathis@psc.edu
In-Reply-To: "Your message with ID" <k2iujx3mw9.fsf@zero.aec.at>
Message-ID: <Roam.SIMC.2.0.6.902971866.24899.kcpoon@jurassic>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; CHARSET="US-ASCII"
Sender: owner-tcp-impl@relay.engr.sgi.com
Precedence: bulk
Status: RO
Content-Length: 1350
Lines: 37

> Most BSD implementation (at least Free/NetBSD) don't have the problem, 
> because they simply send an ACK every second packet, no matter how big
> the packets were (this means BSD will send more acks than linux in some
> situations)

I just got the latest FreeBSD source.  The following part of code has not
changed.

        /*
         * Compare available window to amount of window
         * known to peer (as advertised window less
         * next expected input).  If the difference is at least two
         * max size segments, or at least 50% of the maximum possible
         * window, then want to send a window update to peer.
         */
        if (win > 0) {
                /*
                 * "adv" is the amount we can increase the window,
                 * taking into account that we are limited by
                 * TCP_MAXWIN << tp->rcv_scale.
                 */
                long adv = min(win, (long)TCP_MAXWIN << tp->rcv_scale) -
                        (tp->rcv_adv - tp->rcv_nxt);

                if (adv >= (long) (2 * tp->t_maxseg))
                        goto send;
                if (2 * adv >= (long) so->so_rcv.sb_hiwat)
                        goto send;
        }

Can you point me to where FreeBSD forces acking every second segment,
regardless of the size?

							K. Poon.
							kcpoon@eng.sun.com