Hello! It is important to me to have duration of TIME_WAIT state of TCP connection as short time as possible. It is because Server identifies its Clients by C_IP:C_PORT(which permanent for one Client).
In FreeBSD 3.4 I have been edited netinet sources to decrease interval for TIME_WAIT -only(!!!) (TCPTV_MSL(60sec) -> TCPTV_MSL_MY(10sec))- for example(tcp_input.c): switch (tp->t_state) { case TCPS_SYN_RECEIVED: ........................ case TCPS_ESTABLISHED: ..................... case TCPS_FIN_WAIT_1: ................. /* * In FIN_WAIT_2 state enter the TIME_WAIT state, * starting the time-wait timer, turning off the other * standard timers. */ case TCPS_FIN_WAIT_2: tp->t_state = TCPS_TIME_WAIT; tcp_canceltimers(tp); /* Shorten TIME_WAIT [RFC-1644, p.28] */ if (tp->cc_recv != 0 && tp->t_duration < TCPTV_MSL_MY) { /* TCPTV_MSL_MY = 10sec for me!!!*/ tp->t_timer[TCPT_2MSL] = tp->t_rxtcur * TCPTV_TWTRUNC; /* For transaction client, force ACK now. */ tp->t_flags |= TF_ACKNOW; } else tp->t_timer[TCPT_2MSL] = 2 * TCPTV_MSL_MY; /* TCPTV_MSL_MY = 10sec for me!!!*/ soisdisconnected(so); break; /* * In TIME_WAIT state restart the 2 MSL time_wait timer. */ case TCPS_TIME_WAIT: tp->t_timer[TCPT_2MSL] = 2 * TCPTV_MSL_MY; break; } As I know FreeBSD 4.x can calculate MSL depending on data transmission's speed. How to turn on this calculation for 4.x ? It seems that sysctl whith net.inet.tcp.rfc1323 (and .1644) does not work for me. May be I must use T/TCP ? Serg. To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-net" in the body of the message