From: Taral <[EMAIL PROTECTED]>
Date: Tue, 23 Mar 1999 16:53:12 -0600
Okay, I've been trying to see if I can't fix linux to handle a
rather unusual case in TCP which causes a socket to end up in
CLOSING state for 90 mins (until it times out). The scenario is
thus:
Please pay close attention to my commentary below...
Machine A Machine B
ESTABLISHED ESTABLISHED
<-- FIN -- close()
CLOSE_WAIT FIN_WAIT_1
-- ACK <lost>
Ok, _this_ ACK is lost.
CLOSE_WAIT FIN_WAIT_1
close() -- FIN -->
LAST_ACK CLOSING
<-- ACK --
CLOSED CLOSING
If the FIN from machine A to machine B makes it, so does the ACK since
every frame sent after connection startup has an enclosing ACK. I
believe in the above sequence of events, both ends should shut down
cleanly and machine B should not be left in the CLOSING state.
Perhaps Linux is not doing the right thing when the ACK for the FIN
comes along with a FIN.
Here is where I believe your analysis breaks down, or am I missing
something? I am wrong somethings as everyone knows 8-)
BTW, where was your "enclosed patch", I couldn't find it? :-)
Later,
David S. Miller
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]