[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070824071530.GB26447@xi.wantstofly.org>
Date: Fri, 24 Aug 2007 09:15:30 +0200
From: Lennert Buytenhek <buytenh@...tstofly.org>
To: TJ <linux@...orld.net>
Cc: netdev@...r.kernel.org, kuznet@....inr.ac.ru
Subject: Re: Problem with implementation of TCP_DEFER_ACCEPT?
On Fri, Aug 24, 2007 at 01:08:25AM +0100, TJ wrote:
> An RFC 793 standard TCP handshake requires three packets:
>
> client SYN > server LISTENING
> client < SYN ACK server SYN_RECEIVED
> client ACK > server ESTABLISHED
>
> client PSH ACK + data > server
>
> TCP_DEFER_ACCEPT is designed to increase performance by reducing the
> number of TCP packets exchanged before the client can pass data:
>
> client SYN > server LISTENING
> client < SYN ACK server SYN_RECEIVED
>
> client PSH ACK + data > server ESTABLISHED
>
> At present with TCP_DEFER_ACCEPT the kernel treats the RFC 793 handshake
> as invalid; dropping the ACK from the client without replying so the
> client doesn't know the server has in fact set it's internal ACKed flag.
>
> If the client doesn't send a packet containing data before the SYN_ACK
> time-outs finally expire the connection will be dropped.
A brought this up a long, long time ago, and I seem to remember
Alexey Kuznetsov explained me at the time that this was intentional.
I can't find the thread in the mailing list archives anymore, though
-- and my memory might be failing me.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists