> A patch that should fix it is included in
> ftp.firstfloor.org:/pub/ak/2.2.10-net-patchkit
A couple of questions:
(in tcp_timewait_state_process)
+ /* Ack old packets if necessary */
+ if (!after(TCP_SKB_CB(skb)->end_seq, tw->rcv_nxt))
+ return TCP_TW_ACK;
Referring to the passage from RFC 793 I quoted earlier, (i.e. "The only
thing that can arrive is a retransmission of the FIN") maybe this should
only send an ACK if the FIN bit is set and (TCP_SKB_CB(skb)->end_seq ==
tw->rcv_nxt)? Anything else is probably just an uninteresting old
duplicate and should be silently dropped, I think. (be conservative in
what you send, etc etc)
Also,
(in tcp_v4_send_ack)
+ rth.ack_seq = th->fin ? htonl(ntohl(th->seq)+1) : th->seq;
Why assume that there was no data in the packet? Wouldn't
rth.ack_seq = htonl(TCP_SKB_CB(skb)->end_seq);
be better? (I might have an off-by-one error there, I can't check the
source right now...)
(and besides, why would we be generating an ACK for a data-less and
FIN-less packet?)
-Vijay
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/