This commit updates rack to what is basically being used at NF aswell as sets in some of the groundwork for committing BBR. Thehpts system is updated as well as some other needed utilitiesfor the
This commit updates rack to what is basically being used at NF aswell as sets in some of the groundwork for committing BBR. Thehpts system is updated as well as some other needed utilitiesfor the entrance of BBR. This is actually part 1 of 3 moreneeded commits which will finally complete with BBRv1 beingadded as a new tcp stack.Sponsored by: Netflix Inc.Differential Revision: https://reviews.freebsd.org/D20834
show more ...
Take out the stack alias inadvertantly added by my commit.Reported by: Peter Lei
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 ackno
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 eithersocket option with the name of the stack is "rack" or by settingthe global sysctl so the default is rack.Note that any connection that does not support SACK will be kickedback to the "default" base FreeBSD stack (currently known as "default").To build this into your kernel you will need to enable in yourkernel: makeoptions WITH_EXTRA_TCP_STACKS=1 options TCPHPTSSponsored by: Netflix Inc.Differential Revision: https://reviews.freebsd.org/D15525