On Wed, Oct 12, 2016 at 02:16:42AM +0000, Jonathan T. Looney wrote: > Author: jtl > Date: Wed Oct 12 02:16:42 2016 > New Revision: 307082 > URL: https://svnweb.freebsd.org/changeset/base/307082 > > Log: > 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
This commit breaks the build when VNET is enabled. Attached is a candidate patch to fix. If the patch doesn't make it to the list, I've pasted it here: http://ix.io/1wbE Thanks, -- Shawn Webb Cofounder and Security Engineer HardenedBSD GPG Key ID: 0x6A84658F52456EEE GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89 3D9E 6A84 658F 5245 6EEE
diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index b8c9ff0..e69c3d4 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -742,7 +742,10 @@ tcp_init(void) static void tcp_destroy(void *unused __unused) { - int error, n; + int n; +#ifdef TCP_HHOOK + int error; +#endif /* * All our processes are gone, all our sockets should be cleaned
signature.asc
Description: PGP signature