Re: Network stack question
FYI -
I was able to reproduce the FIN_WAIT_1 state problem. I flooded the
EchoServer with echo requests (the server sleeps 0.5 seconds between
replies), thereby exhausting the mbuf pool (a lot of SONAME and DATA).
The corba middleware connection subsequently closes its connection
because of ping failures. The network stack places the TCP connection
into the FIN_WAIT_1 state, but never issues the FIN packet (no mbufs to
do the job!). The stack either doesn't know the FIN packet was not
sent or does not handle the error properly (maybe terminate connection
immediately?). Since there was never an initial transmission, the
network task, responsible for retransmission, attempts no
retransmissions and thus the connection is never retransmitted
timed-out.
|