> idle = (tp->snd_max == tp->snd_una);
> if (idle && tp->t_idle >= tp->t_rxtcur)
> /*
> * We have been idle for "a while" and no acks are
> * expected to clock out any data we send --
> * slow start to get ack "clock" running again.
> */
> tp->snd_cwnd = tp->t_maxseg;
>
>
> i.e., if the unacknowledged data and max window sent are the same,
> in this case, then the system IS idle (no timer!).
tp->t_idle is reset to 0 when a segment is received. It is incremented by
1 by the slow timer. So only when new data is sent and t_idle is greater than
or equal to the RTO, t_rxtcur, TCP restarts slow start. Am I missing something
here?
K. Poon
[email protected]
This archive was generated by hypermail 2b29 : Mon Feb 14 2000 - 16:14:29 EST