Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F157121489
D8185.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
41 KB
Referenced Files
None
Subscribers
None
D8185.diff
View Options
Index: head/UPDATING
===================================================================
--- head/UPDATING
+++ head/UPDATING
@@ -31,6 +31,11 @@
disable the most expensive debugging functionality run
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
+20161008:
+ Use of the cc_cdg, cc_chd, cc_hd, or cc_vegas congestion control
+ modules now requires that the kernel configuration contain the
+ TCP_HHOOK option. (This option is included in the GENERIC kernel.)
+
20161003:
The WITHOUT_ELFCOPY_AS_OBJCOPY src.conf(5) knob has been retired.
ELF Tool Chain's elfcopy is always installed as /usr/bin/objcopy.
Index: head/sys/amd64/conf/GENERIC
===================================================================
--- head/sys/amd64/conf/GENERIC
+++ head/sys/amd64/conf/GENERIC
@@ -30,6 +30,7 @@
options INET6 # IPv6 communications protocols
options IPSEC # IP (v4/v6) security
options TCP_OFFLOAD # TCP offload
+options TCP_HHOOK # hhook(9) framework for TCP
options SCTP # Stream Control Transmission Protocol
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
Index: head/sys/arm/conf/ATMEL
===================================================================
--- head/sys/arm/conf/ATMEL
+++ head/sys/arm/conf/ATMEL
@@ -35,6 +35,7 @@
#options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options SCTP # Stream Control Transmission Protocol
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
Index: head/sys/arm/conf/AVILA
===================================================================
--- head/sys/arm/conf/AVILA
+++ head/sys/arm/conf/AVILA
@@ -36,6 +36,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
+options TCP_HHOOK # hhook(9) framework for TCP
options GEOM_PART_BSD # BSD partition scheme
options GEOM_PART_MBR # MBR partition scheme
options TMPFS # Efficient memory filesystem
Index: head/sys/arm/conf/BWCT
===================================================================
--- head/sys/arm/conf/BWCT
+++ head/sys/arm/conf/BWCT
@@ -33,6 +33,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
#options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
#options UFS_ACL # Support for access control lists
Index: head/sys/arm/conf/CAMBRIA
===================================================================
--- head/sys/arm/conf/CAMBRIA
+++ head/sys/arm/conf/CAMBRIA
@@ -37,6 +37,7 @@
options SCHED_4BSD # 4BSD scheduler
#options PREEMPTION
options INET # InterNETworking
+options TCP_HHOOK # hhook(9) framework for TCP
options GEOM_PART_BSD # BSD partition scheme
options GEOM_PART_MBR # MBR partition scheme
options TMPFS # Efficient memory filesystem
Index: head/sys/arm/conf/CNS11XXNAS
===================================================================
--- head/sys/arm/conf/CNS11XXNAS
+++ head/sys/arm/conf/CNS11XXNAS
@@ -46,6 +46,7 @@
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
Index: head/sys/arm/conf/CRB
===================================================================
--- head/sys/arm/conf/CRB
+++ head/sys/arm/conf/CRB
@@ -34,6 +34,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
Index: head/sys/arm/conf/DB-78XXX
===================================================================
--- head/sys/arm/conf/DB-78XXX
+++ head/sys/arm/conf/DB-78XXX
@@ -15,6 +15,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options GEOM_PART_BSD # BSD partition scheme
options GEOM_PART_MBR # MBR partition scheme
options TMPFS # Efficient memory filesystem
Index: head/sys/arm/conf/DB-88F5XXX
===================================================================
--- head/sys/arm/conf/DB-88F5XXX
+++ head/sys/arm/conf/DB-88F5XXX
@@ -15,6 +15,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options GEOM_PART_BSD # BSD partition scheme
options GEOM_PART_MBR # MBR partition scheme
options TMPFS # Efficient memory filesystem
Index: head/sys/arm/conf/DB-88F6XXX
===================================================================
--- head/sys/arm/conf/DB-88F6XXX
+++ head/sys/arm/conf/DB-88F6XXX
@@ -15,6 +15,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
options NANDFS # NAND Filesystem
options NFSCL # Network Filesystem Client
Index: head/sys/arm/conf/DOCKSTAR
===================================================================
--- head/sys/arm/conf/DOCKSTAR
+++ head/sys/arm/conf/DOCKSTAR
@@ -29,6 +29,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options NFSCL # Network Filesystem Client
Index: head/sys/arm/conf/DREAMPLUG-1001
===================================================================
--- head/sys/arm/conf/DREAMPLUG-1001
+++ head/sys/arm/conf/DREAMPLUG-1001
@@ -32,6 +32,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options NFSCL # Network Filesystem Client
Index: head/sys/arm/conf/EA3250
===================================================================
--- head/sys/arm/conf/EA3250
+++ head/sys/arm/conf/EA3250
@@ -16,6 +16,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
options NFSCL # Network Filesystem Client
options NFSLOCKD # Network Lock Manager
Index: head/sys/arm/conf/EB9200
===================================================================
--- head/sys/arm/conf/EB9200
+++ head/sys/arm/conf/EB9200
@@ -26,6 +26,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
#options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
#options SOFTUPDATES # Enable FFS soft updates support
#options UFS_ACL # Support for access control lists
Index: head/sys/arm/conf/ETHERNUT5
===================================================================
--- head/sys/arm/conf/ETHERNUT5
+++ head/sys/arm/conf/ETHERNUT5
@@ -31,6 +31,7 @@
#options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
#options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
#options SCTP # Stream Control Transmission Protocol
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
Index: head/sys/arm/conf/EXYNOS5.common
===================================================================
--- head/sys/arm/conf/EXYNOS5.common
+++ head/sys/arm/conf/EXYNOS5.common
@@ -25,6 +25,7 @@
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options SCTP # Stream Control Transmission Protocol
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
Index: head/sys/arm/conf/GUMSTIX
===================================================================
--- head/sys/arm/conf/GUMSTIX
+++ head/sys/arm/conf/GUMSTIX
@@ -39,6 +39,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
#options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
Index: head/sys/arm/conf/HL200
===================================================================
--- head/sys/arm/conf/HL200
+++ head/sys/arm/conf/HL200
@@ -31,6 +31,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
#options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
#options SOFTUPDATES # Enable FFS soft updates support
#options UFS_ACL # Support for access control lists
Index: head/sys/arm/conf/HL201
===================================================================
--- head/sys/arm/conf/HL201
+++ head/sys/arm/conf/HL201
@@ -29,6 +29,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
#options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
#options SOFTUPDATES # Enable FFS soft updates support
#options UFS_ACL # Support for access control lists
Index: head/sys/arm/conf/KB920X
===================================================================
--- head/sys/arm/conf/KB920X
+++ head/sys/arm/conf/KB920X
@@ -32,6 +32,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
#options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
#options SOFTUPDATES # Enable FFS soft updates support
#options UFS_ACL # Support for access control lists
Index: head/sys/arm/conf/NSLU
===================================================================
--- head/sys/arm/conf/NSLU
+++ head/sys/arm/conf/NSLU
@@ -43,6 +43,7 @@
options SCHED_ULE # ULE scheduler
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
Index: head/sys/arm/conf/QILA9G20
===================================================================
--- head/sys/arm/conf/QILA9G20
+++ head/sys/arm/conf/QILA9G20
@@ -32,6 +32,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
#options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
#options SOFTUPDATES # Enable FFS soft updates support
#options UFS_ACL # Support for access control lists
Index: head/sys/arm/conf/SAM9260EK
===================================================================
--- head/sys/arm/conf/SAM9260EK
+++ head/sys/arm/conf/SAM9260EK
@@ -42,6 +42,7 @@
#options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
#options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
#options SCTP # Stream Control Transmission Protocol
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
Index: head/sys/arm/conf/SAM9G20EK
===================================================================
--- head/sys/arm/conf/SAM9G20EK
+++ head/sys/arm/conf/SAM9G20EK
@@ -38,6 +38,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
#options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options TMPFS # Efficient memory filesystem
options FFS # Berkeley Fast Filesystem
#options SOFTUPDATES # Enable FFS soft updates support
Index: head/sys/arm/conf/SAM9X25EK
===================================================================
--- head/sys/arm/conf/SAM9X25EK
+++ head/sys/arm/conf/SAM9X25EK
@@ -31,6 +31,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
#options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
#options SOFTUPDATES # Enable FFS soft updates support
#options UFS_ACL # Support for access control lists
Index: head/sys/arm/conf/SHEEVAPLUG
===================================================================
--- head/sys/arm/conf/SHEEVAPLUG
+++ head/sys/arm/conf/SHEEVAPLUG
@@ -17,6 +17,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
options NANDFS # NAND Filesystem
options NFSCL # Network Filesystem Client
Index: head/sys/arm/conf/SN9G45
===================================================================
--- head/sys/arm/conf/SN9G45
+++ head/sys/arm/conf/SN9G45
@@ -31,6 +31,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
#options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
#options SOFTUPDATES # Enable FFS soft updates support
#options UFS_ACL # Support for access control lists
Index: head/sys/arm/conf/TS7800
===================================================================
--- head/sys/arm/conf/TS7800
+++ head/sys/arm/conf/TS7800
@@ -15,6 +15,7 @@
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options NFSCL # Network Filesystem Client
Index: head/sys/arm/conf/std.armv6
===================================================================
--- head/sys/arm/conf/std.armv6
+++ head/sys/arm/conf/std.armv6
@@ -7,6 +7,7 @@
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options IPSEC # IP (v4/v6) security
options SCTP # Stream Control Transmission Protocol
options FFS # Berkeley Fast Filesystem
Index: head/sys/arm64/conf/GENERIC
===================================================================
--- head/sys/arm64/conf/GENERIC
+++ head/sys/arm64/conf/GENERIC
@@ -29,6 +29,7 @@
options INET # InterNETworking
options INET6 # IPv6 communications protocols
options IPSEC # IP (v4/v6) security
+options TCP_HHOOK # hhook(9) framework for TCP
options TCP_OFFLOAD # TCP offload
options SCTP # Stream Control Transmission Protocol
options FFS # Berkeley Fast Filesystem
Index: head/sys/conf/NOTES
===================================================================
--- head/sys/conf/NOTES
+++ head/sys/conf/NOTES
@@ -982,6 +982,8 @@
# TCPPCAP enables code which keeps the last n packets sent and received
# on a TCP socket.
#
+# TCP_HHOOK enables the hhook(9) framework hooks for the TCP stack.
+#
# RADIX_MPATH provides support for equal-cost multi-path routing.
#
options MROUTING # Multicast routing
@@ -1001,6 +1003,7 @@
options PF_DEFAULT_TO_DROP #drop everything by default
options TCPDEBUG
options TCPPCAP
+options TCP_HHOOK
options RADIX_MPATH
# The MBUF_STRESS_TEST option enables options which create
Index: head/sys/conf/options
===================================================================
--- head/sys/conf/options
+++ head/sys/conf/options
@@ -443,6 +443,7 @@
TCPDEBUG
TCPPCAP opt_global.h
SIFTR
+TCP_HHOOK opt_inet.h
TCP_OFFLOAD opt_inet.h # Enable code to dispatch TCP offloading
TCP_RFC7413 opt_inet.h
TCP_RFC7413_MAX_KEYS opt_inet.h
Index: head/sys/i386/conf/GENERIC
===================================================================
--- head/sys/i386/conf/GENERIC
+++ head/sys/i386/conf/GENERIC
@@ -31,6 +31,7 @@
options INET # InterNETworking
options INET6 # IPv6 communications protocols
options IPSEC # IP (v4/v6) security
+options TCP_HHOOK # hhook(9) framework for TCP
options TCP_OFFLOAD # TCP offload
options SCTP # Stream Control Transmission Protocol
options FFS # Berkeley Fast Filesystem
Index: head/sys/mips/conf/ADM5120
===================================================================
--- head/sys/mips/conf/ADM5120
+++ head/sys/mips/conf/ADM5120
@@ -33,6 +33,7 @@
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
+options TCP_HHOOK # hhook(9) framework for TCP
options NFSCL #Network Filesystem Client
options NFS_ROOT #NFS usable as /, requires NFSCL
options PSEUDOFS #Pseudo-filesystem framework
Index: head/sys/mips/conf/ALCHEMY
===================================================================
--- head/sys/mips/conf/ALCHEMY
+++ head/sys/mips/conf/ALCHEMY
@@ -33,6 +33,7 @@
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
+options TCP_HHOOK # hhook(9) framework for TCP
options NFSCL #Network Filesystem Client
options NFS_ROOT #NFS usable as /, requires NFSCL
options PSEUDOFS #Pseudo-filesystem framework
Index: head/sys/mips/conf/AR71XX_BASE
===================================================================
--- head/sys/mips/conf/AR71XX_BASE
+++ head/sys/mips/conf/AR71XX_BASE
@@ -35,6 +35,7 @@
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
options INET6 # IPv6
+options TCP_HHOOK # hhook(9) framework for TCP
# options NFSCL #Network Filesystem Client
Index: head/sys/mips/conf/AR724X_BASE
===================================================================
--- head/sys/mips/conf/AR724X_BASE
+++ head/sys/mips/conf/AR724X_BASE
@@ -36,6 +36,7 @@
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
#options INET6 # IPv6
+options TCP_HHOOK # hhook(9) framework for TCP
#options NFSCL #Network Filesystem Client
options PSEUDOFS #Pseudo-filesystem framework
options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
Index: head/sys/mips/conf/BCM
===================================================================
--- head/sys/mips/conf/BCM
+++ head/sys/mips/conf/BCM
@@ -28,6 +28,7 @@
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
+options TCP_HHOOK # hhook(9) framework for TCP
options NFSCL #Network Filesystem Client
#options NFS_ROOT #NFS usable as /, requires NFSCL
options PSEUDOFS #Pseudo-filesystem framework
Index: head/sys/mips/conf/BERI_TEMPLATE
===================================================================
--- head/sys/mips/conf/BERI_TEMPLATE
+++ head/sys/mips/conf/BERI_TEMPLATE
@@ -39,6 +39,7 @@
options INET
options INET6
+options TCP_HHOOK # hhook(9) framework for TCP
options KGSSAPI
options NFSCL
options NFSLOCKD
Index: head/sys/mips/conf/ERL
===================================================================
--- head/sys/mips/conf/ERL
+++ head/sys/mips/conf/ERL
@@ -55,6 +55,7 @@
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options SCTP # Stream Control Transmission Protocol
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
Index: head/sys/mips/conf/GXEMUL
===================================================================
--- head/sys/mips/conf/GXEMUL
+++ head/sys/mips/conf/GXEMUL
@@ -32,6 +32,7 @@
options SCHED_ULE
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS #Berkeley Fast Filesystem
Index: head/sys/mips/conf/GXEMUL32
===================================================================
--- head/sys/mips/conf/GXEMUL32
+++ head/sys/mips/conf/GXEMUL32
@@ -30,6 +30,7 @@
options SCHED_ULE
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS #Berkeley Fast Filesystem
Index: head/sys/mips/conf/IDT
===================================================================
--- head/sys/mips/conf/IDT
+++ head/sys/mips/conf/IDT
@@ -16,6 +16,7 @@
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
+options TCP_HHOOK # hhook(9) framework for TCP
options NFSCL #Network Filesystem Client
options NFS_ROOT #NFS usable as /, requires NFSCL
options PSEUDOFS #Pseudo-filesystem framework
Index: head/sys/mips/conf/MT7620
===================================================================
--- head/sys/mips/conf/MT7620
+++ head/sys/mips/conf/MT7620
@@ -54,6 +54,7 @@
#options SCHED_4BSD #4BSD scheduler
#options COMPAT_43
options INET #InterNETworking
+options TCP_HHOOK # hhook(9) framework for TCP
options NFSCL #Network Filesystem Client
options NFS_ROOT #NFS usable as /, requires NFSCL
options PSEUDOFS #Pseudo-filesystem framework
Index: head/sys/mips/conf/OCTEON1
===================================================================
--- head/sys/mips/conf/OCTEON1
+++ head/sys/mips/conf/OCTEON1
@@ -54,6 +54,7 @@
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options SCTP # Stream Control Transmission Protocol
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
Index: head/sys/mips/conf/PB92
===================================================================
--- head/sys/mips/conf/PB92
+++ head/sys/mips/conf/PB92
@@ -37,6 +37,7 @@
options INET #InterNETworking
# Can't do IPv6 - it just doesn't fit.
# options INET6
+options TCP_HHOOK # hhook(9) framework for TCP
# options NFSCL #Network Filesystem Client
options PSEUDOFS #Pseudo-filesystem framework
options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
Index: head/sys/mips/conf/QCA953X_BASE
===================================================================
--- head/sys/mips/conf/QCA953X_BASE
+++ head/sys/mips/conf/QCA953X_BASE
@@ -31,6 +31,7 @@
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
#options INET6 #InterNETworking
+options TCP_HHOOK # hhook(9) framework for TCP
#options NFSCL #Network Filesystem Client
options PSEUDOFS #Pseudo-filesystem framework
options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
Index: head/sys/mips/conf/QEMU
===================================================================
--- head/sys/mips/conf/QEMU
+++ head/sys/mips/conf/QEMU
@@ -32,6 +32,7 @@
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
+options TCP_HHOOK # hhook(9) framework for TCP
options NFSCL #Network Filesystem Client
options NFS_ROOT #NFS usable as /, requires NFSCL
options PSEUDOFS #Pseudo-filesystem framework
Index: head/sys/mips/conf/RT305X
===================================================================
--- head/sys/mips/conf/RT305X
+++ head/sys/mips/conf/RT305X
@@ -53,6 +53,7 @@
#options SCHED_4BSD #4BSD scheduler
#options COMPAT_43
options INET #InterNETworking
+options TCP_HHOOK # hhook(9) framework for TCP
options NFSCL #Network Filesystem Client
options NFS_ROOT #NFS usable as /, requires NFSCL
options PSEUDOFS #Pseudo-filesystem framework
Index: head/sys/mips/conf/RT5350
===================================================================
--- head/sys/mips/conf/RT5350
+++ head/sys/mips/conf/RT5350
@@ -51,6 +51,7 @@
options SCHED_ULE
options INET #InterNETworking
+options TCP_HHOOK # hhook(9) framework for TCP
#options NFSCL #Network Filesystem Client
#options NFS_ROOT #NFS usable as /, requires NFSCL
options PSEUDOFS #Pseudo-filesystem framework
Index: head/sys/mips/conf/SENTRY5
===================================================================
--- head/sys/mips/conf/SENTRY5
+++ head/sys/mips/conf/SENTRY5
@@ -44,6 +44,7 @@
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
+options TCP_HHOOK # hhook(9) framework for TCP
options NFSCL #Network Filesystem Client
options NFS_ROOT #NFS usable as /, requires NFSCL
options PSEUDOFS #Pseudo-filesystem framework
Index: head/sys/mips/conf/XLR
===================================================================
--- head/sys/mips/conf/XLR
+++ head/sys/mips/conf/XLR
@@ -62,6 +62,7 @@
#options FULL_PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
#options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
Index: head/sys/mips/conf/XLR64
===================================================================
--- head/sys/mips/conf/XLR64
+++ head/sys/mips/conf/XLR64
@@ -36,6 +36,7 @@
#options FULL_PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
#options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
Index: head/sys/mips/conf/XLRN32
===================================================================
--- head/sys/mips/conf/XLRN32
+++ head/sys/mips/conf/XLRN32
@@ -36,6 +36,7 @@
#options FULL_PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
#options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
Index: head/sys/mips/conf/std.AR5312
===================================================================
--- head/sys/mips/conf/std.AR5312
+++ head/sys/mips/conf/std.AR5312
@@ -34,6 +34,7 @@
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
options INET6 # IPv6
+options TCP_HHOOK # hhook(9) framework for TCP
# options NFSCL #Network Filesystem Client
Index: head/sys/mips/conf/std.AR5315
===================================================================
--- head/sys/mips/conf/std.AR5315
+++ head/sys/mips/conf/std.AR5315
@@ -33,6 +33,7 @@
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
options INET6 # IPv6
+options TCP_HHOOK # hhook(9) framework for TCP
# options NFSCL #Network Filesystem Client
Index: head/sys/mips/conf/std.AR91XX
===================================================================
--- head/sys/mips/conf/std.AR91XX
+++ head/sys/mips/conf/std.AR91XX
@@ -32,6 +32,7 @@
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
options INET6 #InterNETworking
+options TCP_HHOOK # hhook(9) framework for TCP
#options NFSCL #Network Filesystem Client
options PSEUDOFS #Pseudo-filesystem framework
options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
Index: head/sys/mips/conf/std.AR933X
===================================================================
--- head/sys/mips/conf/std.AR933X
+++ head/sys/mips/conf/std.AR933X
@@ -30,6 +30,7 @@
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
#options INET6 #InterNETworking
+options TCP_HHOOK # hhook(9) framework for TCP
#options NFSCL #Network Filesystem Client
options PSEUDOFS #Pseudo-filesystem framework
options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
Index: head/sys/mips/conf/std.AR934X
===================================================================
--- head/sys/mips/conf/std.AR934X
+++ head/sys/mips/conf/std.AR934X
@@ -31,6 +31,7 @@
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
#options INET6 #InterNETworking
+options TCP_HHOOK # hhook(9) framework for TCP
#options NFSCL #Network Filesystem Client
options PSEUDOFS #Pseudo-filesystem framework
options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
Index: head/sys/mips/conf/std.MALTA
===================================================================
--- head/sys/mips/conf/std.MALTA
+++ head/sys/mips/conf/std.MALTA
@@ -21,6 +21,7 @@
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
+options TCP_HHOOK # hhook(9) framework for TCP
options NFSCL #Network Filesystem Client
options NFS_ROOT #NFS usable as /, requires NFSCL
options PSEUDOFS #Pseudo-filesystem framework
Index: head/sys/mips/conf/std.QCA955X
===================================================================
--- head/sys/mips/conf/std.QCA955X
+++ head/sys/mips/conf/std.QCA955X
@@ -35,6 +35,7 @@
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
#options INET6 #InterNETworking
+options TCP_HHOOK # hhook(9) framework for TCP
#options NFSCL #Network Filesystem Client
options PSEUDOFS #Pseudo-filesystem framework
options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
Index: head/sys/mips/conf/std.SWARM
===================================================================
--- head/sys/mips/conf/std.SWARM
+++ head/sys/mips/conf/std.SWARM
@@ -20,6 +20,7 @@
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
+options TCP_HHOOK # hhook(9) framework for TCP
options NFSCL #Network Filesystem Client
options NFS_ROOT #NFS usable as /, requires NFSCL
options PSEUDOFS #Pseudo-filesystem framework
Index: head/sys/mips/conf/std.XLP
===================================================================
--- head/sys/mips/conf/std.XLP
+++ head/sys/mips/conf/std.XLP
@@ -15,6 +15,7 @@
#options FULL_PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options FFS # Berkeley Fast Filesystem
#options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
Index: head/sys/modules/cc/Makefile
===================================================================
--- head/sys/modules/cc/Makefile
+++ head/sys/modules/cc/Makefile
@@ -1,11 +1,20 @@
# $FreeBSD$
-SUBDIR= cc_cdg \
- cc_chd \
- cc_cubic \
+SUBDIR= cc_cubic \
cc_dctcp \
+ cc_htcp
+
+
+# Do we have the TCP_HHOOK symbol defined? If not, there is no point in
+# building these modules by default.
+# We will default to building these modules unless $OPT_INET is defined
+# and does not contain the TCP_HHOOK option.
+.if defined(ALL_MODULES) || ${OPT_INET:UTCP_HHOOK:MTCP_HHOOK} != ""
+SUBDIR+= \
+ cc_cdg \
+ cc_chd \
cc_hd \
- cc_htcp \
cc_vegas
+.endif
.include <bsd.subdir.mk>
Index: head/sys/modules/khelp/Makefile
===================================================================
--- head/sys/modules/khelp/Makefile
+++ head/sys/modules/khelp/Makefile
@@ -1,5 +1,13 @@
# $FreeBSD$
-SUBDIR= h_ertt
+SUBDIR=
+
+# Do we have the TCP_HHOOK symbol defined? If not, there is no point in
+# building this modules by default.
+# We will default to building this module unless $OPT_INET is defined
+# and does not contain the TCP_HHOOK option.
+.if defined(ALL_MODULES) || ${OPT_INET:UTCP_HHOOK:MTCP_HHOOK} != ""
+SUBDIR+= h_ertt
+.endif
.include <bsd.subdir.mk>
Index: head/sys/netinet/tcp_input.c
===================================================================
--- head/sys/netinet/tcp_input.c
+++ head/sys/netinet/tcp_input.c
@@ -57,7 +57,9 @@
#include <sys/param.h>
#include <sys/kernel.h>
+#ifdef TCP_HHOOK
#include <sys/hhook.h>
+#endif
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/proc.h> /* for proc0 declaration */
@@ -278,6 +280,7 @@
counter_u64_add(VNET(tcpstat)[statnum], 1);
}
+#ifdef TCP_HHOOK
/*
* Wrapper for the TCP established input helper hook.
*/
@@ -295,6 +298,7 @@
tp->osd);
}
}
+#endif
/*
* CC wrapper hook functions
@@ -1753,8 +1757,10 @@
}
acked = BYTES_THIS_ACK(tp, th);
+#ifdef TCP_HHOOK
/* Run HHOOK_TCP_ESTABLISHED_IN helper hooks. */
hhook_run_tcp_est_in(tp, th, &to);
+#endif
TCPSTAT_ADD(tcps_rcvackpack, nsegs);
TCPSTAT_ADD(tcps_rcvackbyte, acked);
@@ -2499,8 +2505,10 @@
*/
tp->sackhint.sacked_bytes = 0;
+#ifdef TCP_HHOOK
/* Run HHOOK_TCP_ESTABLISHED_IN helper hooks. */
hhook_run_tcp_est_in(tp, th, &to);
+#endif
if (SEQ_LEQ(th->th_ack, tp->snd_una)) {
u_int maxseg;
Index: head/sys/netinet/tcp_output.c
===================================================================
--- head/sys/netinet/tcp_output.c
+++ head/sys/netinet/tcp_output.c
@@ -40,7 +40,9 @@
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/domain.h>
+#ifdef TCP_HHOOK
#include <sys/hhook.h>
+#endif
#include <sys/kernel.h>
#include <sys/lock.h>
#include <sys/mbuf.h>
@@ -140,11 +142,14 @@
tcp_timer_active((tp), TT_PERSIST), \
("neither rexmt nor persist timer is set"))
+#ifdef TCP_HHOOK
static void inline hhook_run_tcp_est_out(struct tcpcb *tp,
struct tcphdr *th, struct tcpopt *to,
uint32_t len, int tso);
+#endif
static void inline cc_after_idle(struct tcpcb *tp);
+#ifdef TCP_HHOOK
/*
* Wrapper for the TCP established output helper hook.
*/
@@ -165,6 +170,7 @@
tp->osd);
}
}
+#endif
/*
* CC wrapper hook functions
@@ -1306,8 +1312,10 @@
__func__, len, hdrlen, ipoptlen, m_length(m, NULL)));
#endif
+#ifdef TCP_HHOOK
/* Run HHOOK_TCP_ESTABLISHED_OUT helper hooks. */
hhook_run_tcp_est_out(tp, th, &to, len, tso);
+#endif
#ifdef TCPDEBUG
/*
Index: head/sys/netinet/tcp_stacks/fastpath.c
===================================================================
--- head/sys/netinet/tcp_stacks/fastpath.c
+++ head/sys/netinet/tcp_stacks/fastpath.c
@@ -62,7 +62,9 @@
#include <sys/param.h>
#include <sys/module.h>
#include <sys/kernel.h>
+#ifdef TCP_HHOOK
#include <sys/hhook.h>
+#endif
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/proc.h> /* for proc0 declaration */
@@ -266,8 +268,10 @@
if (winup_only == 0) {
acked = BYTES_THIS_ACK(tp, th);
+#ifdef TCP_HHOOK
/* Run HHOOK_TCP_ESTABLISHED_IN helper hooks. */
hhook_run_tcp_est_in(tp, th, to);
+#endif
TCPSTAT_ADD(tcps_rcvackbyte, acked);
sbdrop(&so->so_snd, acked);
@@ -1040,8 +1044,10 @@
*/
tp->sackhint.sacked_bytes = 0;
+#ifdef TCP_HHOOK
/* Run HHOOK_TCP_ESTABLISHED_IN helper hooks. */
hhook_run_tcp_est_in(tp, th, to);
+#endif
if (SEQ_LEQ(th->th_ack, tp->snd_una)) {
if (tlen == 0 && tiwin == tp->snd_wnd) {
@@ -2127,8 +2133,10 @@
if (winup_only == 0) {
acked = BYTES_THIS_ACK(tp, th);
+#ifdef TCP_HHOOK
/* Run HHOOK_TCP_ESTABLISHED_IN helper hooks. */
hhook_run_tcp_est_in(tp, th, to);
+#endif
TCPSTAT_ADD(tcps_rcvackbyte, acked);
sbdrop(&so->so_snd, acked);
Index: head/sys/netinet/tcp_subr.c
===================================================================
--- head/sys/netinet/tcp_subr.c
+++ head/sys/netinet/tcp_subr.c
@@ -42,9 +42,13 @@
#include <sys/systm.h>
#include <sys/callout.h>
#include <sys/eventhandler.h>
+#ifdef TCP_HHOOK
#include <sys/hhook.h>
+#endif
#include <sys/kernel.h>
+#ifdef TCP_HHOOK
#include <sys/khelp.h>
+#endif
#include <sys/sysctl.h>
#include <sys/jail.h>
#include <sys/malloc.h>
@@ -238,7 +242,9 @@
VNET_DEFINE(uma_zone_t, sack_hole_zone);
#define V_sack_hole_zone VNET(sack_hole_zone)
+#ifdef TCP_HHOOK
VNET_DEFINE(struct hhook_head *, tcp_hhh[HHOOK_TCP_LAST+1]);
+#endif
static struct inpcb *tcp_notify(struct inpcb *, int);
static struct inpcb *tcp_mtudisc_notify(struct inpcb *, int);
@@ -449,7 +455,9 @@
struct tcpcb tcb;
struct tcp_timer tt;
struct cc_var ccv;
+#ifdef TCP_HHOOK
struct osd osd;
+#endif
};
static VNET_DEFINE(uma_zone_t, tcpcb_zone);
@@ -605,12 +613,14 @@
tcbhash_tuneable = "net.inet.tcp.tcbhashsize";
+#ifdef TCP_HHOOK
if (hhook_head_register(HHOOK_TYPE_TCP, HHOOK_TCP_EST_IN,
&V_tcp_hhh[HHOOK_TCP_EST_IN], HHOOK_NOWAIT|HHOOK_HEADISINVNET) != 0)
printf("%s: WARNING: unable to register helper hook\n", __func__);
if (hhook_head_register(HHOOK_TYPE_TCP, HHOOK_TCP_EST_OUT,
&V_tcp_hhh[HHOOK_TCP_EST_OUT], HHOOK_NOWAIT|HHOOK_HEADISINVNET) != 0)
printf("%s: WARNING: unable to register helper hook\n", __func__);
+#endif
hashsize = TCBHASHSIZE;
TUNABLE_INT_FETCH(tcbhash_tuneable, &hashsize);
if (hashsize == 0) {
@@ -763,6 +773,7 @@
tcp_fastopen_destroy();
#endif
+#ifdef TCP_HHOOK
error = hhook_head_deregister(V_tcp_hhh[HHOOK_TCP_EST_IN]);
if (error != 0) {
printf("%s: WARNING: unable to deregister helper hook "
@@ -775,6 +786,7 @@
"type=%d, id=%d: error %d returned\n", __func__,
HHOOK_TYPE_TCP, HHOOK_TCP_EST_OUT, error);
}
+#endif
}
VNET_SYSUNINIT(tcp, SI_SUB_PROTO_DOMAIN, SI_ORDER_FOURTH, tcp_destroy, NULL);
#endif
@@ -1204,6 +1216,7 @@
return (NULL);
}
+#ifdef TCP_HHOOK
tp->osd = &tm->osd;
if (khelp_init_osd(HELPER_CLASS_TCP, tp->osd)) {
if (tp->t_fb->tfb_tcp_fb_fini)
@@ -1212,6 +1225,7 @@
uma_zfree(V_tcpcb_zone, tm);
return (NULL);
}
+#endif
#ifdef VIMAGE
tp->t_vnet = inp->inp_vnet;
@@ -1477,7 +1491,9 @@
if (CC_ALGO(tp)->cb_destroy != NULL)
CC_ALGO(tp)->cb_destroy(tp->ccv);
+#ifdef TCP_HHOOK
khelp_destroy_osd(tp->osd);
+#endif
CC_ALGO(tp) = NULL;
inp->inp_ppcb = NULL;
Index: head/sys/netinet/tcp_var.h
===================================================================
--- head/sys/netinet/tcp_var.h
+++ head/sys/netinet/tcp_var.h
@@ -749,8 +749,10 @@
#define V_tcp_do_ecn VNET(tcp_do_ecn)
#define V_tcp_ecn_maxretries VNET(tcp_ecn_maxretries)
+#ifdef TCP_HHOOK
VNET_DECLARE(struct hhook_head *, tcp_hhh[HHOOK_TCP_LAST + 1]);
#define V_tcp_hhh VNET(tcp_hhh)
+#endif
VNET_DECLARE(int, tcp_do_rfc6675_pipe);
#define V_tcp_do_rfc6675_pipe VNET(tcp_do_rfc6675_pipe)
@@ -788,8 +790,10 @@
void cc_conn_init(struct tcpcb *tp);
void cc_post_recovery(struct tcpcb *tp, struct tcphdr *th);
void cc_cong_signal(struct tcpcb *tp, struct tcphdr *th, uint32_t type);
+#ifdef TCP_HHOOK
void hhook_run_tcp_est_in(struct tcpcb *tp,
struct tcphdr *th, struct tcpopt *to);
+#endif
int tcp_input(struct mbuf **, int *, int);
void tcp_do_segment(struct mbuf *, struct tcphdr *,
Index: head/sys/pc98/conf/GENERIC
===================================================================
--- head/sys/pc98/conf/GENERIC
+++ head/sys/pc98/conf/GENERIC
@@ -30,6 +30,7 @@
options INET # InterNETworking
options INET6 # IPv6 communications protocols
options IPSEC # IP (v4/v6) security
+options TCP_HHOOK # hhook(9) framework for TCP
options SCTP # Stream Control Transmission Protocol
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
Index: head/sys/powerpc/conf/GENERIC
===================================================================
--- head/sys/powerpc/conf/GENERIC
+++ head/sys/powerpc/conf/GENERIC
@@ -38,6 +38,7 @@
options INET #InterNETworking
options INET6 #IPv6 communications protocols
options IPSEC # IP (v4/v6) security
+options TCP_HHOOK # hhook(9) framework for TCP
options SCTP #Stream Control Transmission Protocol
options FFS #Berkeley Fast Filesystem
options SOFTUPDATES #Enable FFS soft updates support
Index: head/sys/powerpc/conf/GENERIC64
===================================================================
--- head/sys/powerpc/conf/GENERIC64
+++ head/sys/powerpc/conf/GENERIC64
@@ -37,6 +37,7 @@
options PREEMPTION #Enable kernel thread preemption
options INET #InterNETworking
options INET6 #IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options SCTP #Stream Control Transmission Protocol
options FFS #Berkeley Fast Filesystem
options SOFTUPDATES #Enable FFS soft updates support
Index: head/sys/powerpc/conf/MPC85XX
===================================================================
--- head/sys/powerpc/conf/MPC85XX
+++ head/sys/powerpc/conf/MPC85XX
@@ -36,6 +36,7 @@
options GEOM_PART_GPT
options INET
options INET6
+options TCP_HHOOK # hhook(9) framework for TCP
options INVARIANTS
options INVARIANT_SUPPORT
options KDB
Index: head/sys/riscv/conf/GENERIC
===================================================================
--- head/sys/riscv/conf/GENERIC
+++ head/sys/riscv/conf/GENERIC
@@ -32,6 +32,7 @@
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options TCP_HHOOK # hhook(9) framework for TCP
options IPSEC # IP (v4/v6) security
options TCP_OFFLOAD # TCP offload
options SCTP # Stream Control Transmission Protocol
Index: head/sys/sparc64/conf/GENERIC
===================================================================
--- head/sys/sparc64/conf/GENERIC
+++ head/sys/sparc64/conf/GENERIC
@@ -31,6 +31,7 @@
options INET # InterNETworking
options INET6 # IPv6 communications protocols
options IPSEC # IP (v4/v6) security
+options TCP_HHOOK # hhook(9) framework for TCP
options SCTP # Stream Control Transmission Protocol
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, May 19, 2:26 PM (2 h, 47 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33316116
Default Alt Text
D8185.diff (41 KB)
Attached To
Mode
D8185: Add compile-time option to activate hhook(9) framework for TCP
Attached
Detach File
Event Timeline
Log In to Comment