freebsd-dev/sys/amd64
Jonathan T. Looney bd79708dbf 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
..
acpica sys/amd64: Small spelling fixes. 2016-05-03 22:13:04 +00:00
amd64 Create /dev/efidev to provide an ioctl interface to 2016-10-11 22:24:30 +00:00
cloudabi32 Make execution of 32-bit CloudABI executables work on amd64. 2016-08-24 10:51:33 +00:00
cloudabi64 Convert pointers obtained from the threadattr_t structure with TO_PTR(). 2016-08-24 10:13:18 +00:00
conf In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
ia32 Convert ss_sp in stack_t and sigstack to void *. 2016-01-27 17:55:01 +00:00
include Re-apply r306516 (by cem): 2016-10-04 17:01:24 +00:00
linux Regenerate syscall provider argument strings. 2016-09-22 04:50:03 +00:00
linux32 Regenerate syscall provider argument strings. 2016-09-22 04:50:03 +00:00
pci Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
vmm Reset PCI pass through devices via PCI-e FLR during VM start and end. 2016-09-06 21:15:35 +00:00
Makefile Bring the tags and links entries for amd64 up to date. 2015-10-27 22:59:24 +00:00