Re: git: 3a338c534154 - main - Add the BBR and RACK stacks to the LINT kernel.
- In reply to: Dag-Erling Smørgrav : "git: 3a338c534154 - main - Add the BBR and RACK stacks to the LINT kernel."
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 18 Oct 2023 14:44:07 UTC
On 10/18/23 11:13, Dag-Erling Smørgrav wrote: > The branch main has been updated by des: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3a338c534154164504005beb00a3c6feb03756cc > > commit 3a338c534154164504005beb00a3c6feb03756cc > Author: Dag-Erling Smørgrav <des@FreeBSD.org> > AuthorDate: 2023-10-18 14:13:12 +0000 > Commit: Dag-Erling Smørgrav <des@FreeBSD.org> > CommitDate: 2023-10-18 14:13:12 +0000 > > Add the BBR and RACK stacks to the LINT kernel. > > While here, drop the EXTRA_TCP_STACKS option, which serves no purpose and > should never have been added. Instead, build bbr and rack as long as > either or both of INET and INET6 is enabled. There is no risk to anyone > who doesn't load one or both and then twiddle the relevant sysctls. > > Differential Revision: https://reviews.freebsd.org/D42088 > --- > share/man/man5/src.conf.5 | 2 -- > sys/conf/NOTES | 4 +++- > sys/conf/files | 7 +++++++ > sys/conf/kern.opts.mk | 1 - > sys/conf/kern.post.mk | 4 ---- > sys/conf/options | 2 ++ > sys/modules/tcp/Makefile | 7 ++----- > 7 files changed, 14 insertions(+), 13 deletions(-) Hi, There is a leftover description file, tools/build/options/WITH_EXTRA_TCP_STACKS. Mitchell > > 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