2002-11-08 05:48:48

by omit_ECE

[permalink] [raw]
Subject: A question in decreasing cwnd.

Hi,

In tcp_input.c,

/* Decrease cwnd each second ack. */
static void tcp_cwnd_down(struct tcp_opt *tp)
{
int decr = tp->snd_cwnd_cnt + 1;

tp->snd_cwnd_cnt = decr&1;
decr >>= 1;

if (decr && tp->snd_cwnd > tp->snd_ssthresh/2)
tp->snd_cwnd -= decr;

tp->snd_cwnd = min(tp->snd_cwnd, tcp_packets_in_flight(tp)+1);
tp->snd_cwnd_stamp = tcp_time_stamp;
}

Could anyone explain what does that mean, please?
Thank you.

YuZen