Skip to contentSkip to conversation

A question in decreasing cwnd.

DISCUSSION omit_ECE 1 participant 1 message Nov 8, 2002

lore
Share & tools
lore

omit_ECE

author
#0 lore raw

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