Messages in this thread Patch in this message | | | Date | Thu, 3 Dec 1998 13:38:37 -0500 (EST) | From | Mark Hahn <> | Subject | Re: 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/
| |