Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Mar 2006 17:49:28 -0800 (PST)
From:      vijay singh <vijjus@rocketmail.com>
To:        net@freebsd.org
Subject:   Fast Recovery
Message-ID:  <20060304014928.28712.qmail@web33515.mail.mud.yahoo.com>

next in thread | raw e-mail | index | archive | help
Hello all. I am puzzled by some strange network
behavior. This is for a WAN with BW*delay of 800KB or
so. I am looking at this case (in tcp_input.c):

/*
 * Out of fast recovery.
 * Window inflation should have left us
 * with approximately snd_ssthresh
 * outstanding data.
 * But in case we would be inclined to
 * send a burst, better to do it via
 * the slow start mechanism.
 */
if (SEQ_GT(th->th_ack + tp->snd_ssthresh,             
      
           tp->snd_max))
   tp->snd_cwnd = tp->snd_max - th->th_ack +
tp->t_maxseg;                                         
                                                
else
   tp->snd_cwnd = tp->snd_ssthresh;

I have a few doubts:

1. For the ACK that gets out of FAST RECOVERY (with
SACK enabled), wouldn't th->th_ack == tp->snd_max?

2. If [1] is not true, doesn't the formula reduce cwnd
if we did not send enough during fast recovery?

RFC 2581 seems to allow us to set cwnd to ssthresh
after fast recovery.

Any help is appreciated. 

br
vijay

PS: Kindly CC me.

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060304014928.28712.qmail>