freebsd-skq/sys/conf
jtl 62030781cd In the TCP stack, the hhook(9) framework provides hooks for kernel modules
to add actions that run when a TCP frame is sent or received on a TCP
session in the ESTABLISHED state. In the base tree, this functionality is
only used for the h_ertt module, which is used by the cc_cdg, cc_chd, cc_hd,
and cc_vegas congestion control modules.

Presently, we incur overhead to check for hooks each time a TCP frame is
sent or received on an ESTABLISHED TCP session.

This change adds a new compile-time option (TCP_HHOOK) to determine whether
to include the hhook(9) framework for TCP. To retain backwards
compatibility, I added the TCP_HHOOK option to every configuration file that
already defined "options INET". (Therefore, this patch introduces no
functional change. In order to see a functional difference, you need to
compile a custom kernel without the TCP_HHOOK option.) This change will
allow users to easily exclude this functionality from their kernel, should
they wish to do so.

Note that any users who use a custom kernel configuration and use one of the
congestion control modules listed above will need to add the TCP_HHOOK
option to their kernel configuration.

Reviewed by:	rrs, lstewart, hiren (previous version), sjg (makefiles only)
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D8185
2016-10-12 02:16:42 +00:00
..
config.mk Don't run find(1) for __MPATH with NO_MODULES set. 2016-07-22 17:31:14 +00:00
dtb.mk Add missed updates for r301079 and r301084. 2016-05-31 23:12:43 +00:00
files Create /dev/efidev to provide an ioctl interface to 2016-10-11 22:24:30 +00:00
files.amd64 hyperv/storvsc: Fix the blkvsc disk attachment issues. 2016-09-29 01:41:52 +00:00
files.arm ARM: Split identify_arm_cpu() into ARMv4 and ARMv6 variant. 2016-10-09 10:24:10 +00:00
files.arm64 Add driver for PCIe root complex on Annapurna Alpine platform. 2016-09-20 11:11:06 +00:00
files.i386 hyperv/storvsc: Fix the blkvsc disk attachment issues. 2016-09-29 01:41:52 +00:00
files.mips MFC r288071: 2016-08-01 06:59:35 +00:00
files.pc98 Merge i386 and amd64 variants of mp_watchdog.c into x86/, there is no 2016-08-03 13:51:53 +00:00
files.powerpc Add NXP/Freescale DIU driver for PowerPC SoCs 2016-09-27 00:53:41 +00:00
files.riscv o Remove operation in machine mode. 2016-08-10 12:41:36 +00:00
files.sparc64 MFC r288071: 2016-08-01 06:59:35 +00:00
kern.mk Set INLINE_LIMIT in the aarch64 case for gcc. 2016-10-09 21:47:20 +00:00
kern.opts.mk Change the default build behavior so we don't compile extra TCP modules by 2016-06-10 19:06:11 +00:00
kern.post.mk When MAKEOBJDIRPREFIX points to a case-insensitive file system, the 2016-09-24 15:11:27 +00:00
kern.pre.mk When MAKEOBJDIRPREFIX points to a case-insensitive file system, the 2016-09-24 15:11:27 +00:00
kmod_syms.awk
kmod.mk Always pass -m to ld for converting binary files to kernel ELF objects 2016-09-20 17:07:14 +00:00
ldscript.amd64 remove CONSTRUCTORS from kernel linker scripts 2016-07-28 13:54:46 +00:00
ldscript.arm remove CONSTRUCTORS from kernel linker scripts 2016-07-28 13:54:46 +00:00
ldscript.arm64 Explicitly include all .rodata.* sections in the kernel .rodata. This 2016-09-03 17:23:24 +00:00
ldscript.i386 remove CONSTRUCTORS from kernel linker scripts 2016-07-28 13:54:46 +00:00
ldscript.mips remove CONSTRUCTORS from kernel linker scripts 2016-07-28 13:54:46 +00:00
ldscript.mips.cfe remove CONSTRUCTORS from kernel linker scripts 2016-07-28 13:54:46 +00:00
ldscript.mips.mips64 remove CONSTRUCTORS from kernel linker scripts 2016-07-28 13:54:46 +00:00
ldscript.mips.octeon1 remove CONSTRUCTORS from kernel linker scripts 2016-07-28 13:54:46 +00:00
ldscript.powerpc remove CONSTRUCTORS from kernel linker scripts 2016-07-28 13:54:46 +00:00
ldscript.powerpc64 remove CONSTRUCTORS from kernel linker scripts 2016-07-28 13:54:46 +00:00
ldscript.riscv o Remove operation in machine mode. 2016-08-10 12:41:36 +00:00
ldscript.sparc64 remove CONSTRUCTORS from kernel linker scripts 2016-07-28 13:54:46 +00:00
Makefile.amd64
Makefile.arm ARM: Disconnect elf_trampoline.c from ARMv6 build. 2016-10-05 12:17:43 +00:00
Makefile.arm64
Makefile.i386
Makefile.mips [mips] Improve MIPS trampoline code 2016-05-16 23:56:31 +00:00
Makefile.pc98
Makefile.powerpc
Makefile.riscv Set dependencies for genassym.c. 2016-05-24 16:30:05 +00:00
Makefile.sparc64
makeLINT.mk
makeLINT.sed
newvers.sh Reflect head is now 12.0-CURRENT. 2016-07-08 00:12:29 +00:00
NOTES In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
options In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
options.amd64 Add kernel interfaces to call EFI Runtime Services. 2016-09-21 11:31:58 +00:00
options.arm Split CPU_CORTEXA into CPU_CORTEXA8, for the Cortex-A8, and CPU_CORTEXA_MP, 2016-10-04 12:25:44 +00:00
options.arm64 Add SOC_ALLWINNER_A64 option for Allwinner A64 (sun50i) SoCs. 2016-07-11 20:05:03 +00:00
options.i386
options.mips Add AR531x port options. 2016-10-04 16:29:26 +00:00
options.pc98
options.powerpc Merge MPC85XX and QorIQ config options 2016-08-03 01:22:11 +00:00
options.riscv
options.sparc64
systags.sh
WITHOUT_SOURCELESS
WITHOUT_SOURCELESS_HOST
WITHOUT_SOURCELESS_UCODE