"Fossies" - the Fresh Open Source Software Archive

Member "bind-9.11.23/doc/misc/tcp-fast-open" (7 Sep 2020, 1229 Bytes) of package /linux/misc/dns/bind9/9.11.23/bind-9.11.23.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 Copyright (C) Internet Systems Consortium, Inc. ("ISC")
    2 
    3 See COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
    4 
    5 Some systems (Linux, FreeBSD, OS X/macOS and Windows 10) support
    6 the TCP Fast Open (RFC 7413) mechanism in their recent versions.
    7 
    8 BIND 9 supports this on the server side.
    9 
   10 When the TCP_FASTOPEN socket option is defined after the listen()
   11 system call the socket code in the libisc set the option with
   12 the half of the listen backlog (so the fast open maximum queue length
   13 is the half of the pending connection queue length).
   14 Any failure is logged and ignored.
   15 
   16 System specific notes:
   17  - FreeBSD doesn't interpret the argument as a queue length but
   18   only as an on/off switch.
   19 
   20  - Using TCP Fast Open on FreeBSD, as of versions 10.3 and 11.0, requires
   21    compiling a custom kernel and setting the "net.inet.tcp.fastopen.enabled"
   22    sysctl to 1.
   23 
   24  - Apple OS X/macOS allows only 0 or 1 so the code puts 1 for this system.
   25 
   26  - Windows 10 uses a 0/1 char flag? Note that TCP_FASTOPEN is defined
   27   only in SDK 10.0.14393.0 or higher (Visual Studio 2015 requires
   28   extra setting of the "Target Platform Version" in all project
   29   properties).
   30 
   31  - the only other system known to support this is Linux.
   32