option TCP_RFC7413 is not in GENERIC

Ian Lepore ian at freebsd.org
Fri Mar 16 18:07:15 UTC 2018


On Fri, 2018-03-16 at 16:42 +0000, Patrick Kelsey wrote:
> On Fri, Mar 16, 2018 at 12:12 PM Ian Lepore <ian at freebsd.org> wrote:
> 
> > 
> > On Fri, 2018-03-16 at 16:04 +0000, Patrick Kelsey wrote:
> > > 
> > > The current thinking is that users who care
> > > about such performance differences are dealing with extreme workloads
> > that
> > > 
> > > already motivate them to compile their own kernels, or are working with
> > > very resource-constrained platforms, so the way forward is to keep the
> > > TCP_RFC7413 kernel option around and enable it by default for the
> > > server-class platforms (armd64 and arm64).
> > I have no idea what TCP_RFC7413 even is, but I know I was forced to add
> > it to my kernel config when I installed the bind911 package during a
> > recent upgrade.  This is on a tiny NUC for which saturating even one of
> > its gbe interfaces would count as "extreme workload". :)
> > 
> > 
> RFC7413 is TCP Fast Open (TFO), which is a way to short-circuit TCP
> handshakes if  conditions are met.  I'm curious as to why you were
> forced to add the option to your kernel config when you installed bind911.
> Maybe that version of bind was assuming something like 'if the TCP_FASTOPEN
> sockopt is defined in a header, then all setsockopt(TCP_FASTOPEN) should
> succeed or else die'?  That would be a very weird assumption, as the MacOS,
> Linux, and FreeBSD implementations all have a sysctl that can be used to
> disable the feature system-wide at any point in time.
> 
> -Patrick

Oh, then I assume it's because TCP_FASTOPEN is in the default options
when the package gets built.

-- Ian



More information about the freebsd-hackers mailing list