freebsd-dev/sys/netinet/tcp_stacks
Randall Stewart 89e560f441 This commit brings in a new refactored TCP stack called Rack.
Rack includes the following features:
 - A different SACK processing scheme (the old sack structures are not used).
 - RACK (Recent acknowledgment) where counting dup-acks is no longer done
        instead time is used to knwo when to retransmit. (see the I-D)
 - TLP (Tail Loss Probe) where we will probe for tail-losses to attempt
        to try not to take a retransmit time-out. (see the I-D)
 - Burst mitigation using TCPHTPS
 - PRR (partial rate reduction) see the RFC.

Once built into your kernel, you can select this stack by either
socket option with the name of the stack is "rack" or by setting
the global sysctl so the default is rack.

Note that any connection that does not support SACK will be kicked
back to the "default" base  FreeBSD stack (currently known as "default").

To build this into your kernel you will need to enable in your
kernel:
   makeoptions WITH_EXTRA_TCP_STACKS=1
   options TCPHPTS

Sponsored by:	Netflix Inc.
Differential Revision:		https://reviews.freebsd.org/D15525
2018-06-07 18:18:13 +00:00
..
fastpath.c This commit brings in a new refactored TCP stack called Rack. 2018-06-07 18:18:13 +00:00
rack_bbr_common.h This commit brings in a new refactored TCP stack called Rack. 2018-06-07 18:18:13 +00:00
rack.c This commit brings in a new refactored TCP stack called Rack. 2018-06-07 18:18:13 +00:00
sack_filter.c This commit brings in a new refactored TCP stack called Rack. 2018-06-07 18:18:13 +00:00
sack_filter.h This commit brings in a new refactored TCP stack called Rack. 2018-06-07 18:18:13 +00:00
tcp_rack.h This commit brings in a new refactored TCP stack called Rack. 2018-06-07 18:18:13 +00:00