TCP LAST-ACK state broken in 2.4.17-pre2

Mika Liljeberg (Mika.Liljeberg@welho.com)
Mon, 10 Dec 2001 20:16:07 +0200


Hi,

I came across the following behavior (sorry, no tcpdump but this should
be easy to reproduce with the right tools):

hostA hostB
--------FIN----------->
<-----data+FIN---------
--------ACK-------X (packet lost)
<-----data+FIN--------- (retransmit)
<-----data+FIN--------- (retransmit)
<-----data+FIN--------- (retransmit)
....
<-----data+FIN--------- (retransmit)
--------RST----------->

HostA is running Linux 2.4.17-pre2. HostB is running Symbian OS. All the
sequence numbers pan out.

Either LAST-ACK is completely broken or Linux just cannot handle a
FIN-ACK that is piggybacked on a data segment, when received in LAST-ACK
state. It should be acked as an out-of-window segment, as usual.
Finally, the LAST-ACK state times out and Linux responds to the FIN
segment with an RST.

Cheers,

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