Subject: Re: why does the tcp_time_wait() call tcp_done(sk)?

From: Shan Wei <[email-masked]>
Date: Thu, 25 Mar 2010 18:01:04 +0800

杨硕 wrote, at 03/25/2010 11:24 AM:
> that means the connection has been closed?
> Does kernel think like that???
> we can use "STATE_TRACE" to see FIN_WAIT_2--->CLOSE rather than
> FIN_WAIT_2-->TIME_WAIT-->CLOSE.

There are three functions to call tcp_time_wait() with FIN_WAIT_2.
Can you provide the fully function call stack?

tcp_close  tcp_rcv_state_process   
   \        | 
    \       |
     \      |
      -|/  \|/
    tcp_time_wait
         /|\
          |
          |
 tcp_keepalive_timer

-- 
Best Regards
-----
Shan Wei