aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--share/man/man5/src.conf.52
-rw-r--r--sys/conf/NOTES4
-rw-r--r--sys/conf/files7
-rw-r--r--sys/conf/kern.opts.mk1
-rw-r--r--sys/conf/kern.post.mk4
-rw-r--r--sys/conf/options2
-rw-r--r--sys/modules/tcp/Makefile7
7 files changed, 14 insertions, 13 deletions
diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5
index 9d26531e515b..bc94d5c62234 100644
--- a/share/man/man5/src.conf.5
+++ b/share/man/man5/src.conf.5
@@ -641,8 +641,6 @@ Avoid installing examples to
.Pa /usr/share/examples/ .
.It Va WITH_EXPERIMENTAL
Include experimental features in the build.
-.It Va WITH_EXTRA_TCP_STACKS
-Build extra TCP stack modules.
.It Va WITHOUT_FDT
Do not build Flattened Device Tree support as part of the base system.
This includes the device tree compiler (dtc) and libfdt support library.
diff --git a/sys/conf/NOTES b/sys/conf/NOTES
index a5ed60792a1f..b12d5def2d57 100644
--- a/sys/conf/NOTES
+++ b/sys/conf/NOTES
@@ -681,7 +681,6 @@ options TCP_OFFLOAD # TCP offload support.
options TCP_RFC7413 # TCP Fast Open
options TCPHPTS
-makeoptions WITH_EXTRA_TCP_STACKS=1 # RACK and BBR TCP kernel modules
# In order to enable IPSEC you MUST also add device crypto to
# your kernel configuration
@@ -693,6 +692,9 @@ options IPSEC #IP security (requires device crypto)
options IPSEC_SUPPORT
#options IPSEC_DEBUG #debug for IP security
+# Alternative TCP stacks
+options TCP_BBR
+options TCP_RACK
# TLS framing and encryption/decryption of data over TCP sockets.
options KERN_TLS # TLS transmit and receive offload
diff --git a/sys/conf/files b/sys/conf/files
index 8c3bdca61905..c127ce7e7103 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -4361,6 +4361,13 @@ netinet/tcp_pcap.c optional inet tcppcap | inet6 tcppcap \
compile-with "${NORMAL_C} ${NO_WNONNULL}"
netinet/tcp_reass.c optional inet | inet6
netinet/tcp_sack.c optional inet | inet6
+netinet/tcp_stacks/bbr.c optional inet tcp_bbr | inet6 tcp_bbr \
+ compile-with "${NORMAL_C} -DMODNAME=tcp_bbr -DSTACKNAME=bbr"
+netinet/tcp_stacks/rack.c optional inet tcp_bbr | inet6 tcp_bbr \
+ compile-with "${NORMAL_C} -DMODNAME=tcp_rack -DSTACKNAME=rack"
+netinet/tcp_stacks/rack_bbr_common.c optional inet tcp_bbr | inet tcp_rack | inet6 tcp_bbr | inet6 tcp_rack
+netinet/tcp_stacks/sack_filter.c optional inet tcp_bbr | inet tcp_rack | inet6 tcp_bbr | inet6 tcp_rack
+netinet/tcp_stacks/tailq_hash.c optional inet tcp_bbr | inet tcp_rack | inet6 tcp_bbr | inet6 tcp_rack
netinet/tcp_stats.c optional stats inet | stats inet6
netinet/tcp_subr.c optional inet | inet6
netinet/tcp_syncache.c optional inet | inet6
diff --git a/sys/conf/kern.opts.mk b/sys/conf/kern.opts.mk
index f908f761b21e..cc6f8a1d8755 100644
--- a/sys/conf/kern.opts.mk
+++ b/sys/conf/kern.opts.mk
@@ -56,7 +56,6 @@ __DEFAULT_YES_OPTIONS = \
__DEFAULT_NO_OPTIONS = \
BHYVE_SNAPSHOT \
- EXTRA_TCP_STACKS \
KERNEL_RETPOLINE \
RATELIMIT \
REPRODUCIBLE_BUILD \
diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk
index a4eb2e94a47b..bea29507a736 100644
--- a/sys/conf/kern.post.mk
+++ b/sys/conf/kern.post.mk
@@ -33,10 +33,6 @@ MKMODULESENV+= CONF_CFLAGS="${CONF_CFLAGS}"
MKMODULESENV+= WITH_CTF="${WITH_CTF}"
.endif
-.if defined(WITH_EXTRA_TCP_STACKS)
-MKMODULESENV+= WITH_EXTRA_TCP_STACKS="${WITH_EXTRA_TCP_STACKS}"
-.endif
-
.if !empty(KCSAN_ENABLED)
MKMODULESENV+= KCSAN_ENABLED="yes"
.endif
diff --git a/sys/conf/options b/sys/conf/options
index 4e74c4ab3a70..d2f31272d189 100644
--- a/sys/conf/options
+++ b/sys/conf/options
@@ -231,6 +231,8 @@ SW_WATCHDOG opt_watchdog.h
TCPHPTS opt_inet.h
TCP_REQUEST_TRK opt_global.h
TCP_ACCOUNTING opt_global.h
+TCP_BBR opt_inet.h
+TCP_RACK opt_inet.h
#
# TCP SaD Detection is an experimental Sack attack Detection (SaD)
# algorithm that uses "normal" behaviour with SACK's to detect
diff --git a/sys/modules/tcp/Makefile b/sys/modules/tcp/Makefile
index 8f89977b5b69..364c0326c40d 100644
--- a/sys/modules/tcp/Makefile
+++ b/sys/modules/tcp/Makefile
@@ -8,13 +8,10 @@ SUBDIR= \
${_tcp_rack} \
${_tcpmd5} \
-.if ${MK_EXTRA_TCP_STACKS} != "no" || defined(ALL_MODULES)
-_tcp_bbr= bbr
-_tcp_rack= rack
-.endif
-
.if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \
defined(ALL_MODULES)
+_tcp_bbr= bbr
+_tcp_rack= rack
.if ${KERN_OPTS:MIPSEC_SUPPORT} && !${KERN_OPTS:MTCP_SIGNATURE}
_tcpmd5= tcpmd5
.endif