Fast Recovery
vijay singh
vijjus at rocketmail.com
Fri Mar 3 17:49:37 PST 2006
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
More information about the freebsd-net
mailing list