opnsense-src/sys
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
..
amd64 Account for dmap limit when selecting the pages for the bootstrap 2018-06-07 17:04:34 +00:00
arm Since we don't enable BUF_TRACKING and FULL_BUF_TRACKING buffer debugging 2018-06-05 05:24:42 +00:00
arm64 Since we don't enable BUF_TRACKING and FULL_BUF_TRACKING buffer debugging 2018-06-05 05:24:42 +00:00
bsm
cam Enable high-speed on the card before increasing frequency on the controller 2018-06-05 11:03:24 +00:00
cddl Revert r326083, it doesn't behave as expected. 2018-06-03 03:53:11 +00:00
compat Define ARCH_KMALLOC_MINALIGN in the LinuxKPI. 2018-06-07 11:44:11 +00:00
conf md: use prestaged mfs_root 2018-06-07 13:57:34 +00:00
contrib MFV: r334448 2018-06-04 22:26:47 +00:00
crypto disable printing value of SKEIN_LOOP during standard out, 2018-05-19 18:27:14 +00:00
ddb Extend show proc with reaper, sigparent, and vmspace information 2018-05-25 13:59:48 +00:00
dev dev/ofw: Fix ofw_fdt_getprop() return values to match documentation 2018-06-07 15:59:08 +00:00
dts arm: overlays: Update to new path-based sugar format 2018-05-04 14:38:48 +00:00
fs Revert r334586 since I now think __unused is the better way to handle this. 2018-06-04 11:35:04 +00:00
gdb amd64: Protect the kernel text, data, and BSS by setting the RW/NX bits 2018-03-06 14:28:37 +00:00
geom Introduce the 'n' flag for the geli attach command. 2018-05-09 20:53:38 +00:00
gnu gnu/dts: Update our copy of arm dts from Linux 4.16 2018-04-20 19:37:08 +00:00
i386 cpufunc: add rdtscp for x86 2018-06-07 00:54:11 +00:00
isa Revert r330780, it was improperly tested and results in taking a spin 2018-03-11 20:13:15 +00:00
kern This commit brings in a new refactored TCP stack called Rack. 2018-06-07 18:18:13 +00:00
kgssapi
libkern str(r)chr: Replace union abuse with __DECONST 2018-06-04 18:47:14 +00:00
mips MALTA64EL: disable modules until objcopy is fixed 2018-05-24 23:58:57 +00:00
modules This commit brings in a new refactored TCP stack called Rack. 2018-06-07 18:18:13 +00:00
net iflib: Record TCP checksum info in iflib when TCP checksum is requested 2018-06-07 13:03:07 +00:00
net80211 Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
netgraph Catch up two more places to the V_ifnet change to a CK_STAILQ. 2018-05-24 00:06:55 +00:00
netinet This commit brings in a new refactored TCP stack called Rack. 2018-06-07 18:18:13 +00:00
netinet6 Load balance sockets with new SO_REUSEPORT_LB option. 2018-06-06 15:45:57 +00:00
netipsec Rework IP encapsulation handling code. 2018-06-05 20:51:01 +00:00
netpfil pf: Replace rwlock on PF_RULES_LOCK with rmlock 2018-05-30 07:11:33 +00:00
netsmb Eliminate the overhead of gratuitous repeated reinitialization of cap_rights 2018-05-09 18:47:24 +00:00
nfs UDP: further performance improvements on tx 2018-05-23 21:02:14 +00:00
nfsclient
nfsserver
nlm
ofed UDP: further performance improvements on tx 2018-05-23 21:02:14 +00:00
opencrypto cryptosoft: Do not exceed crd_len around *crypt_multi 2018-04-19 15:24:21 +00:00
powerpc Included VSX registers in powerpc core dumps 2018-06-02 20:28:58 +00:00
riscv Export a breakpoint() function to userland for riscv. 2018-05-16 16:56:35 +00:00
rpc
security #include <bsm/audit.h> in security/audit/audit_ioctl.h 2018-05-30 21:50:23 +00:00
sparc64 Define memmove and make bcopy alt entry point 2018-05-24 21:11:28 +00:00
sys This commit brings in a new refactored TCP stack called Rack. 2018-06-07 18:18:13 +00:00
teken teken: Fix sequences header which was crossing the 80-col boundary 2018-05-29 08:41:44 +00:00
tests epoch(9): Make epochs non-preemptible by default 2018-05-18 17:29:43 +00:00
tools Add dtb overlays support 2018-03-24 21:30:24 +00:00
ufs ufs: remove cgbno variable where unused 2018-05-19 19:30:42 +00:00
vm Fix a typo in vm_domain_set(). When a domain crosses into the severe range, 2018-06-07 13:29:54 +00:00
x86 x86: reorganize code that deals with unexpected NMI-s 2018-06-07 14:46:52 +00:00
xdr
xen xen: remove dead code from gnttab.h 2018-05-25 08:44:00 +00:00
Makefile