lkml.org 
[lkml]   [1999]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: TCP TIME-WAIT bug in Linux 2.2.5 (still there I think)
On 26 Jul 1999, Andi Kleen wrote:

> 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/

\
 
 \ /
  Last update: 2005-03-22 13:53    [W:0.070 / U:0.452 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site