Page MenuHomeFreeBSD

D42088.diff
No OneTemporary

D42088.diff

diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5
--- a/share/man/man5/src.conf.5
+++ b/share/man/man5/src.conf.5
@@ -641,8 +641,6 @@
.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
--- a/sys/conf/NOTES
+++ b/sys/conf/NOTES
@@ -681,7 +681,6 @@
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_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
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -4361,6 +4361,13 @@
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
--- a/sys/conf/kern.opts.mk
+++ b/sys/conf/kern.opts.mk
@@ -56,7 +56,6 @@
__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
--- a/sys/conf/kern.post.mk
+++ b/sys/conf/kern.post.mk
@@ -33,10 +33,6 @@
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
--- a/sys/conf/options
+++ b/sys/conf/options
@@ -231,6 +231,8 @@
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
--- a/sys/modules/tcp/Makefile
+++ b/sys/modules/tcp/Makefile
@@ -8,13 +8,10 @@
${_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

File Metadata

Mime Type
text/plain
Expires
Tue, Nov 19, 3:18 AM (21 h, 36 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14709448
Default Alt Text
D42088.diff (3 KB)

Event Timeline