[systemd-devel] [PATCH] socket: add support for TCP fast Open

Lennart Poettering lennart at poettering.net
Thu Aug 14 07:38:09 PDT 2014

On Thu, 14.08.14 09:54, Dave Reisner (d at falconindy.com) wrote:

> On Thu, Aug 14, 2014 at 02:31:47PM +0530, Susant Sahani wrote:
> > TCP Fast Open (TFO) speeds up the opening of successiveTCP)
> > connections between two endpoints.It works by using a TFO cookie
> > in the initial SYN packet to authenticate a previously connected
> > client. It starts sending data to the client before the receipt
> > of the final ACK packet of the three way handshake is received,
> > skipping a round trip and lowering the latency in the start of
> > transmission of data.
> > ---
> Why does this default to false? The kernel enables this by default as of
> 3.13 and exposes /proc/sys/net/ipv4/tcp_fastopen. Are there really
> cases where one might want this conditionally enabled/disabled?

Oh, indeed. Also the setsockopt actually doesn't take a bool but a qlen
integer, according to the LWN story.

The sysctl is actually a bit field, and by default turns on the server
side of TCP fastopen, but not the client side. However, we only do the
server side in systemd anyway, so it's always on anyway...

I reverted this for now hence, this needs more discussion. 


Lennart Poettering, Red Hat

More information about the systemd-devel mailing list