lkml.org 
[lkml]   [1998]   [Dec]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 2.1.130UP and network connections
I reported a problem with these symptoms about a month ago,
and included tcpdump logs for Alan & co. turns out that some
widely-used stack out there sends syn-less acks in response to syn,
presumably when under load. examples of this include quote.yahoo.com,
necxdirect.necx.com and other indispensible sites ;)

2.1 resets the connection when this happens, but dropping the packet
is the right thing to do. with the following patch, it looks like this:

0.620429 me.1753 > necxdirect.necx.com.http: S 255782508:255782508(0)
win 32120 <mss 1460,sackOK,timestamp 9460369[|tcp]> (DF)
0.713838 necxdirect.necx.com.http > me.1753: . ack 255782509
win 65160 <nop,nop,timestamp 190827742 9460069> (DF)
0.233134 necxdirect.necx.com.http > me.1753: S 1457983341:1457983341(0)
ack 255782509 win 65160
<nop,nop,timestamp 190827794 9460069,nop,[|tcp]> (DF)
0.233201 me.1753 > necxdirect.necx.com.http: . ack 1 win 32120
<nop,nop,timestamp 9460430 190827794> (DF)

--- linux-2.1.131/net/ipv4/tcp_input.c Wed Nov 18 12:06:05 1998
+++ linux/net/ipv4/tcp_input.c Thu Dec 3 12:28:04 1998
@@ -2056,13 +2056,11 @@
}

if(!th->syn) {
- /* A valid ack from a different connection
- * start. Shouldn't happen but cover it.
+ /* Some stacks apparently send an syn-less
+ * ack in response to a syn under load.
+ * We used to reset, but dropping is correct.
*/
- sk->err = ECONNRESET;
- sk->state_change(sk);
- tcp_statistics.TcpAttemptFails++;
- return 1;
+ goto discard;
}

/* Ok.. it's good. Set up sequence numbers and

regards, mark hahn.


-
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:45    [W:0.072 / U:0.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site