Re: dst cache overflow

From: kuznet@ms2.inr.ac.ru
Date: Fri Jan 14 2000 - 12:39:06 EST


Hello!

> FIN-WAIT-2?
>
> I saw LAST-ACK sockets in the thread and I looked for them.
>
> Please explain why you think it is a noop.

static inline void tcp_check_fin_timer(struct sock *sk)
{
        if (sk->state == TCP_FIN_WAIT2 && !sk->timer.prev)
                tcp_reset_msl_timer(sk, TIME_CLOSE, sysctl_tcp_fin_timeout);
}

See? fin timer is started only in FIN-WAIT-2.

> Now if there were fin-wait-2 and other sockets with no timers too
> that would be another bug.

Idle sockets, not closed by user, have no timer (not counting optional
SO_KEEPALIVE), because it is useless. Particularly, socket in FIN-WAIT-2
is held infinitely until user close it. In any state, when socket has some
data to send (f.e. LAST_ACK), either retransmit or probe timer is active.
In this case (when corking locked FIN) probe timer must be active, but
I suspect it also disappeared and this really will be bug.

Alexey

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Jan 15 2000 - 21:00:24 EST