Patrick Kelsey pkelsey at
Wed Feb 1 06:01:20 UTC 2017

On Tue, Jan 31, 2017 at 10:53 AM, Sergey Matveychuk <sem33 at>

> 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 (

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.


More information about the freebsd-net mailing list