Date: Wed, 1 Feb 2017 01:01:18 -0500 From: Patrick Kelsey <pkelsey@freebsd.org> To: Sergey Matveychuk <sem33@yandex-team.ru> Cc: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org> Subject: Re: TCP_FASTOPEN is absent in GENERIC Message-ID: <CAD44qMVA3LwxF2CP0qBrcn5Xc7QCaG=dZBrZn3kwd=v4pYd7QA@mail.gmail.com> In-Reply-To: <bdad8788-6086-7bdf-232b-a71908f56ae8@yandex-team.ru> References: <bdad8788-6086-7bdf-232b-a71908f56ae8@yandex-team.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jan 31, 2017 at 10:53 AM, Sergey Matveychuk <sem33@yandex-team.ru> wrote: > Hi. > > Is there a strong reason for option TCP_FASTOPEN is absent in GENERIC > kernel? It's off by default anyway (net.inet.tcp.fastopen.enabled=0). > > Latest dns/bind* versions want it very much. > > The kernel option name is actually TCP_RFC7413, and currently the implementation is only the server side of the protocol. I committed the code as being compiled out by default because it is a bit intrusive to the normal TCP connection establishment code (tcp_input() and syncache interaction) and I decided to be conservative until it was more thoroughly exercised. The original sponsor of the work lost interest in it shortly after it was implemented, so the expected wider and more thorough testing, to my knowledge, never happened. It has only recently been tested with VIMAGE enabled, and a couple of issues with that configuration are being worked through ( https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216613). Other than that, I think there is still an unresolved issue with Linux TFO clients that don't ACK data returned with the SYN|ACK of a TFO connection - this forces a retransmit from the server and it has been reported that the retransmit timeout in this case is excessive. There is no technical obstacle there that I am aware of, it is just that no time has yet been spent investigating the report. Best, Patrick
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAD44qMVA3LwxF2CP0qBrcn5Xc7QCaG=dZBrZn3kwd=v4pYd7QA>