> > that when tcp socket is in TIME_WAIT state, the default response to a
> > retransmitted FIN packets is to silently drop them. Is this the correct
> > way of implementing TIME_WAIT?
No. Linux 2.2 is not expected to have this bug.
> > active and start sending back FIN-ACKs.
No. time-wait never send FINs, just bare ACK.
> > /* Ack old packets if necessary */
> > if (!after(TCP_SKB_CB(skb)->end_seq, tw->rcv_nxt) &&
> > (len > (th->doff * 4) || th->fin))
> > return TCP_TW_ACK;
> > return 0;
> >
> > Which I suspect contains some bug.
It should responce right. end_seq == rcv_nxt in the case of retransmitted
FIN, len == th->doff*4 but th->fin == 1. So, it returns TCP_TW_ACK.
So, it looks right, I have no idea what happens in your case.
Apparently, you diagnosed problem wrongly. It would be better
if you sent tcpdump of bad session instead.
> > Again, my question is whether 2.2.19 is doing correct things,
Supposed to do. If it does not, alas.
> > that in 2.4.9 and how? Or some alternative milder changes?
Milder change is just to install 2.4. :-)
Alexey
-
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/