--- tcp_timer.c Mon Jan 17 15:06:36 2005 +++ tcp_timer.c Thu Jan 20 16:24:11 2005 @@ -336,7 +336,7 @@ if (tp->t_state < TCPS_ESTABLISHED) goto dropit; if ((always_keepalive || inp->inp_socket->so_options & SO_KEEPALIVE) && - tp->t_state <= TCPS_CLOSING) { + (tp->t_state <= TCPS_CLOSING || tp->t_state == TCPS_FIN_WAIT_2)) { if ((ticks - tp->t_rcvtime) >= tcp_keepidle + tcp_maxidle) goto dropit; /*