> 	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