Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F152662200
D56228.id175231.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
61 KB
Referenced Files
None
Subscribers
None
D56228.id175231.diff
View Options
diff --git a/sbin/ifconfig/Makefile b/sbin/ifconfig/Makefile
--- a/sbin/ifconfig/Makefile
+++ b/sbin/ifconfig/Makefile
@@ -52,10 +52,6 @@
SRCS+= ifbridge.c # bridge support
SRCS+= iflagg.c # lagg support
-.if ${MK_EXPERIMENTAL} != "no"
-CFLAGS+= -DDRAFT_IETF_6MAN_IPV6ONLY_FLAG
-CFLAGS+= -DEXPERIMENTAL
-.endif
.if ${MK_INET6_SUPPORT} != "no"
CFLAGS+= -DINET6
.endif
diff --git a/sbin/ifconfig/af_inet6.c b/sbin/ifconfig/af_inet6.c
--- a/sbin/ifconfig/af_inet6.c
+++ b/sbin/ifconfig/af_inet6.c
@@ -730,10 +730,6 @@
DEF_CMD("eui64", 0, setip6eui64),
DEF_CMD("stableaddr", ND6_IFF_STABLEADDR, setnd6flags),
DEF_CMD("-stableaddr", -ND6_IFF_STABLEADDR, setnd6flags),
-#ifdef EXPERIMENTAL
- DEF_CMD("ipv6_only", ND6_IFF_IPV6_ONLY_MANUAL,setnd6flags),
- DEF_CMD("-ipv6_only", -ND6_IFF_IPV6_ONLY_MANUAL,setnd6flags),
-#endif
};
static struct afswtch af_inet6 = {
diff --git a/sbin/ifconfig/af_nd6.c b/sbin/ifconfig/af_nd6.c
--- a/sbin/ifconfig/af_nd6.c
+++ b/sbin/ifconfig/af_nd6.c
@@ -62,10 +62,6 @@
[6] = "NO_RADR",
[7] = "NO_PREFER_IFACE",
[8] = "NO_DAD",
-#ifdef DRAFT_IETF_6MAN_IPV6ONLY_FLAG
- [9] = "IPV6_ONLY",
- [10] = "IPV6_ONLY_MANUAL",
-#endif
[11] = "STABLEADDR",
[15] = "DEFAULTIF",
};
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
@@ -1,5 +1,5 @@
.\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman.
-.Dd April 2, 2026
+.Dd April 10, 2026
.Dt SRC.CONF 5
.Os
.Sh NAME
@@ -97,1955 +97,10 @@
This list provides a name and short description for variables
that can be used for source builds.
.Bl -tag -width indent
-.It Va WITHOUT_ACCT
-Do not build process accounting tools such as
-.Xr accton 8
-and
-.Xr sa 8 .
-.It Va WITHOUT_ACPI
-Do not build
-.Xr acpiconf 8 ,
-.Xr acpidump 8
-and related programs.
-.It Va WITHOUT_APM
-Do not build
-.Xr apm 8 ,
-.Xr apmd 8
-and related programs.
-.It Va WITH_ASAN
-Build the base system with Address Sanitizer (ASan) to detect
-memory corruption bugs such as buffer overflows or use-after-free.
-Requires that Clang be used as the base system compiler
-and that the runtime support library is available.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITH_LLVM_BINUTILS
-.El
-.It Va WITHOUT_ASSERT_DEBUG
-Compile programs and libraries without the
-.Xr assert 3
-checks.
-.It Va WITHOUT_AT
-Do not build
-.Xr at 1
-and related utilities.
-.It Va WITHOUT_AUDIT
-Do not build audit support into system programs.
-.It Va WITHOUT_AUTHPF
-Do not build
-.Xr authpf 8 .
-.It Va WITHOUT_AUTOFS
-Do not build
-.Xr autofs 4
-related programs, libraries, and kernel modules.
-.It Va WITHOUT_AUTO_OBJ
-Disable automatic creation of objdirs.
-This is enabled by default if the wanted OBJDIR is writable by the current user.
-.Pp
-This must be set in the environment, make command line, or
-.Pa /etc/src-env.conf ,
-not
-.Pa /etc/src.conf .
-.It Va WITH_BEARSSL
-Build the BearSSL library.
-.Pp
-BearSSL is a tiny SSL library suitable for embedded environments.
-For details see
-.Lk https://www.BearSSL.org/
-.Pp
-This library is currently only used to perform
-signature verification and related operations
-for Verified Exec and
-.Xr loader 8 .
-.Pp
-Due to size constraints in the BIOS environment on x86, one may need to set
-.Va LOADERSIZE
-larger than the
-default 500000, although often loader is under the 500k limit even with
-this option.
-Setting
-.Va LOADERSIZE
-larger than 500000 may cause
-.Xr pxeboot 8
-to be too large to work.
-Careful testing of the loader in the target environment when built with a larger
-limit to establish safe limits is critical because different BIOS environments
-reserve differing amounts of the low 640k space, making a precise limit for
-everybody impossible.
-.Pp
-See also
-.Va WITH_LOADER_PXEBOOT
-for other considerations.
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITH_LOADER_EFI_SECUREBOOT
-(unless
-.Va WITHOUT_LOADER_EFI_SECUREBOOT
-is set explicitly)
-.It Va WITH_LOADER_VERIEXEC
-(unless
-.Va WITHOUT_LOADER_VERIEXEC
-is set explicitly)
-.It Va WITH_LOADER_VERIEXEC_VECTX
-(unless
-.Va WITHOUT_LOADER_VERIEXEC_VECTX
-is set explicitly)
-.It Va WITH_VERIEXEC
-(unless
-.Va WITHOUT_VERIEXEC
-is set explicitly)
-.El
-.It Va WITHOUT_BHYVE
-Do not build or install
-.Xr bhyve 8 ,
-associated utilities, and examples.
-.Pp
-This option only affects amd64/amd64 and arm64/aarch64.
-.It Va WITH_BHYVE_SNAPSHOT
-Include support for save and restore (snapshots) in
-.Xr bhyve 8
-and
-.Xr bhyvectl 8 .
-.Pp
-This option only affects amd64/amd64.
-.It Va WITH_BIND_NOW
-Build all binaries with the
-.Dv DF_BIND_NOW
-flag set to indicate that the run-time loader should perform all relocation
-processing at process startup rather than on demand.
-The combination of the
-.Va BIND_NOW
-and
-.Va RELRO
-options provide "full" Relocation Read-Only (RELRO) support.
-With full RELRO the entire GOT is made read-only after performing relocation at
-startup, avoiding GOT overwrite attacks.
-.It Va WITHOUT_BLACKLIST
-This option has been renamed to
-.Va WITHOUT_BLOCKLIST .
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_BLOCKLIST
-.El
-.Pp
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITHOUT_BLACKLIST_SUPPORT
-(unless
-.Va WITH_BLACKLIST_SUPPORT
-is set explicitly)
-.It Va WITHOUT_BLOCKLIST_SUPPORT
-(unless
-.Va WITH_BLOCKLIST_SUPPORT
-is set explicitly)
-.El
-.It Va WITHOUT_BLACKLIST_SUPPORT
-This option has been renamed to
-.Va WITHOUT_BLOCKLIST_SUPPORT .
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_BLOCKLIST_SUPPORT
-.El
-.It Va WITHOUT_BLOCKLIST
-Set this if you do not want to build
-.Xr blocklistd 8
-and
-.Xr blocklistctl 8 .
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_BLACKLIST
-.El
-.Pp
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITHOUT_BLACKLIST_SUPPORT
-(unless
-.Va WITH_BLACKLIST_SUPPORT
-is set explicitly)
-.It Va WITHOUT_BLOCKLIST_SUPPORT
-(unless
-.Va WITH_BLOCKLIST_SUPPORT
-is set explicitly)
-.El
-.It Va WITHOUT_BLOCKLIST_SUPPORT
-Build some programs without
-.Xr libblocklist 3
-support, like
-.Xr fingerd 8
-and
-.Xr sshd 8 .
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_BLACKLIST_SUPPORT
-.El
-.It Va WITHOUT_BLUETOOTH
-Do not build Bluetooth related kernel modules, programs and libraries.
-.It Va WITHOUT_BOOT
-Do not build the boot blocks and loader.
-.It Va WITHOUT_BOOTPARAMD
-Do not build or install
-.Xr bootparamd 8 .
-.It Va WITHOUT_BOOTPD
-Do not build or install
-.Xr bootpd 8 .
-.It Va WITH_BRANCH_PROTECTION
-Build with branch protection enabled.
-On arm64 enable the use of pointer authentication and
-branch target identification instructions on arm64.
-These can be used to help mitigate some exploit techniques.
-.It Va WITHOUT_BSDINSTALL
-Do not build
-.Xr bsdinstall 8 ,
-.Xr sade 8 ,
-and related programs.
-.It Va WITHOUT_BSNMP
-Do not build or install
-.Xr bsnmpd 1
-and related libraries and data files.
-.It Va WITHOUT_BZIP2
-Do not build contributed bzip2 software as a part of the base system.
-.Bf -symbolic
-The option has no effect yet.
-.Ef
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITHOUT_BZIP2_SUPPORT
-(unless
-.Va WITH_BZIP2_SUPPORT
-is set explicitly)
-.El
-.It Va WITHOUT_BZIP2_SUPPORT
-Build some programs without optional bzip2 support.
-.It Va WITHOUT_CALENDAR
-Do not build
-.Xr calendar 1 .
-.It Va WITHOUT_CAROOT
-Do not add the trusted certificates from the Mozilla NSS bundle to
-base.
-.It Va WITHOUT_CASPER
-This option has no effect.
-.It Va WITH_CCACHE_BUILD
-Use
-.Xr ccache 1
-for the build.
-No configuration is required except to install the
-.Sy devel/ccache
-or
-.Sy devel/sccache
-package.
-When using with
-.Xr distcc 1 ,
-set
-.Sy CCACHE_PREFIX=/usr/local/bin/distcc .
-When using with sccache
-set
-.Sy CCACHE_NAME=sccache
-in
-.Xr src.conf 5 .
-The default cache directory of
-.Pa $HOME/.ccache
-will be used, which can be overridden by setting
-.Sy CCACHE_DIR .
-The
-.Sy CCACHE_COMPILERCHECK
-option defaults to
-.Sy content
-when using the in-tree bootstrap compiler,
-and
-.Sy mtime
-when using an external compiler.
-The
-.Sy CCACHE_CPP2
-option is used for Clang but not GCC.
-.Pp
-Sharing a cache between multiple work directories requires using a layout
-similar to
-.Pa /some/prefix/src
-.Pa /some/prefix/obj
-and an environment such as:
-.Bd -literal -offset indent
-CCACHE_BASEDIR='${SRCTOP:H}' MAKEOBJDIRPREFIX='${SRCTOP:H}/obj'
-.Ed
-.Pp
-See
-.Xr ccache 1
-for more configuration options.
-.It Va WITHOUT_CCD
-Do not build
-.Xr geom_ccd 4
-and related utilities.
-.It Va WITHOUT_CDDL
-Do not build code licensed under Sun's CDDL.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_CTF
-.It
-.Va WITHOUT_DTRACE
-.It
-.Va WITHOUT_LOADER_ZFS
-.It
-.Va WITHOUT_ZFS
-.It
-.Va WITHOUT_ZFS_TESTS
-.El
-.It Va WITHOUT_CLANG
-Do not build the Clang C/C++ compiler during the regular phase of the build.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_CLANG_EXTRAS
-.It
-.Va WITHOUT_CLANG_FORMAT
-.It
-.Va WITHOUT_CLANG_FULL
-.It
-.Va WITHOUT_LLVM_COV
-.El
-.Pp
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITHOUT_LLVM_TARGET_AARCH64
-(unless
-.Va WITH_LLVM_TARGET_AARCH64
-is set explicitly)
-.It Va WITHOUT_LLVM_TARGET_ALL
-(unless
-.Va WITH_LLVM_TARGET_ALL
-is set explicitly)
-.It Va WITHOUT_LLVM_TARGET_ARM
-(unless
-.Va WITH_LLVM_TARGET_ARM
-is set explicitly)
-.It Va WITHOUT_LLVM_TARGET_POWERPC
-(unless
-.Va WITH_LLVM_TARGET_POWERPC
-is set explicitly)
-.It Va WITHOUT_LLVM_TARGET_RISCV
-(unless
-.Va WITH_LLVM_TARGET_RISCV
-is set explicitly)
-.El
-.It Va WITHOUT_CLANG_BOOTSTRAP
-Do not build the Clang C/C++ compiler during the bootstrap phase of
-the build.
-To be able to build the system, either gcc or clang bootstrap must be
-enabled unless an alternate compiler is provided via XCC.
-.It Va WITH_CLANG_EXTRAS
-Build additional clang and llvm tools, such as bugpoint and
-clang-format.
-.It Va WITH_CLANG_FORMAT
-Build clang-format.
-.It Va WITHOUT_CLANG_FULL
-Avoid building the ARCMigrate, Rewriter and StaticAnalyzer components of
-the Clang C/C++ compiler.
-.It Va WITH_CLEAN
-Clean before building world and/or kernel.
-Note that recording a new epoch in
-.Pa .clean_build_epoch
-in the root of the source tree will also force a clean world build.
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITHOUT_DEPEND_CLEANUP
-(unless
-.Va WITH_DEPEND_CLEANUP
-is set explicitly)
-.El
-.It Va WITHOUT_CPP
-Do not build
-.Xr cpp 1 .
-.It Va WITHOUT_CROSS_COMPILER
-Do not build any cross compiler in the cross-tools stage of buildworld.
-When compiling a different version of
-.Fx
-than what is installed on the system, provide an alternate
-compiler with XCC to ensure success.
-When compiling with an identical version of
-.Fx
-to the host, this option may be safely used.
-This option may also be safe when the host version of
-.Fx
-is close to the sources being built, but all bets are off if there have
-been any changes to the toolchain between the versions.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_CLANG_BOOTSTRAP
-.It
-.Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
-.It
-.Va WITHOUT_LLD_BOOTSTRAP
-.It
-.Va WITHOUT_LLVM_BINUTILS_BOOTSTRAP
-.El
-.It Va WITHOUT_CRYPT
-Do not build any crypto code.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_DMAGENT
-.It
-.Va WITHOUT_KERBEROS
-.It
-.Va WITHOUT_LDNS
-.It
-.Va WITHOUT_LDNS_UTILS
-.It
-.Va WITHOUT_LOADER_ZFS
-.It
-.Va WITHOUT_MITKRB5
-.It
-.Va WITHOUT_OPENSSH
-.It
-.Va WITHOUT_OPENSSL
-.It
-.Va WITHOUT_OPENSSL_KTLS
-.It
-.Va WITHOUT_PKGBOOTSTRAP
-.It
-.Va WITHOUT_UNBOUND
-.It
-.Va WITHOUT_ZFS
-.It
-.Va WITHOUT_ZFS_TESTS
-.El
-.Pp
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITHOUT_KERBEROS_SUPPORT
-(unless
-.Va WITH_KERBEROS_SUPPORT
-is set explicitly)
-.El
-.It Va WITH_CTF
-Compile with CTF (Compact C Type Format) data.
-CTF data encapsulates a reduced form of debugging information
-similar to DWARF and the venerable stabs and is required for DTrace.
-.It Va WITHOUT_CUSE
-Do not build CUSE-related programs and libraries.
-.It Va WITHOUT_CXGBETOOL
-Do not build
-.Xr cxgbetool 8
-.Pp
-This is a default setting on
-arm/armv7 and riscv/riscv64.
-.It Va WITH_CXGBETOOL
-Build
-.Xr cxgbetool 8
-.Pp
-This is a default setting on
-amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
-.It Va WITHOUT_DEBUG_FILES
-Avoid building or installing standalone debug files for each
-executable binary and shared library.
-.It Va WITHOUT_DEPEND_CLEANUP
-Do not attempt to detect if the object tree needs cleaning in part or in
-whole before building.
-This speeds up incremental builds, especially when experimenting with
-build options, but may cause the build to inexplicably fail or produce
-non-functioning binaries.
-.It Va WITH_DETECT_TZ_CHANGES
-Make the time handling code detect changes to the timezone files.
-.It Va WITH_DIALOG
-Do build
-.Xr dialog 1 ,
-.Xr dialog 3 ,
-.Xr dpv 1 ,
-and
-.Xr dpv 3 .
-.It Va WITHOUT_DICT
-Do not build the Webster dictionary files.
-.It Va WITH_DIRDEPS_BUILD
-This is an alternate build system.
-For details see
-https://www.crufty.net/sjg/docs/freebsd-meta-mode.htm.
-Build commands can be seen from the top-level with:
-.Dl make show-valid-targets
-The build is driven by dirdeps.mk using
-.Va DIRDEPS
-stored in
-Makefile.depend files found in each directory.
-.Pp
-The build can be started from anywhere, and behaves the same.
-The initial instance of
-.Xr make 1
-recursively reads
-.Va DIRDEPS
-from
-.Pa Makefile.depend ,
-computing a graph of tree dependencies from the current origin.
-Setting
-.Va NO_DIRDEPS
-skips checking dirdep dependencies and will only build in the current
-and child directories.
-.Va NO_DIRDEPS_BELOW
-skips building any dirdeps and only build the current directory.
-.Pp
-This also utilizes the
-.Va WITH_META_MODE
-logic for incremental builds.
-.Pp
-The build hides commands executed unless
-.Va NO_SILENT
-is defined.
-.Pp
-Note that there is currently no mass install feature for this.
-This build is designed for producing packages, that can then be installed
-on a target system.
-.Pp
-The implementation in
-.Fx
-is incomplete.
-Completion would require leaf directories for building each kernel
-and package so that their dependencies can be tracked.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITH_INSTALL_AS_USER
-.El
-.Pp
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITH_META_ERROR_TARGET
-(unless
-.Va WITHOUT_META_ERROR_TARGET
-is set explicitly)
-.It Va WITH_META_MODE
-(unless
-.Va WITHOUT_META_MODE
-is set explicitly)
-.It Va WITH_STAGING
-(unless
-.Va WITHOUT_STAGING
-is set explicitly)
-.It Va WITH_STAGING_MAN
-(unless
-.Va WITHOUT_STAGING_MAN
-is set explicitly)
-.It Va WITH_STAGING_PROG
-(unless
-.Va WITHOUT_STAGING_PROG
-is set explicitly)
-.It Va WITH_SYSROOT
-(unless
-.Va WITHOUT_SYSROOT
-is set explicitly)
-.El
-.Pp
-This must be set in the environment, make command line, or
-.Pa /etc/src-env.conf ,
-not
-.Pa /etc/src.conf .
-.It Va WITH_DIRDEPS_CACHE
-Cache result of dirdeps.mk which can save significant time
-for subsequent builds.
-Depends on
-.Va WITH_DIRDEPS_BUILD .
-.Pp
-This must be set in the environment, make command line, or
-.Pa /etc/src-env.conf ,
-not
-.Pa /etc/src.conf .
-.It Va WITH_DISK_IMAGE_TOOLS_BOOTSTRAP
-Build
-.Xr etdump 1 ,
-.Xr makefs 8
-and
-.Xr mkimg 1
-as bootstrap tools.
-.It Va WITHOUT_DMAGENT
-Do not build dma Mail Transport Agent.
-.It Va WITHOUT_DOCCOMPRESS
-Do not install compressed system documentation.
-Only the uncompressed version will be installed.
-.It Va WITHOUT_DTRACE
-Do not build DTrace framework kernel modules, libraries, and user commands.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_CTF
-.El
-.It Va WITH_DTRACE_ASAN
-Compile userspace DTrace code (libdtrace, dtrace(1), lockstat(1), plockstat(1))
-with address and undefined behavior sanitizers.
-Requires that Clang be used as the base system compiler
-and that the runtime support library is available.
-.It Va WITH_DTRACE_TESTS
-Build and install the DTrace test suite in
-.Pa /usr/tests/cddl/usr.sbin/dtrace .
-This test suite is considered experimental on architectures other than
-amd64/amd64 and running it may cause system instability.
-.It Va WITHOUT_DYNAMICROOT
-Set this if you do not want to link
-.Pa /bin
-and
-.Pa /sbin
-dynamically.
-.It Va WITHOUT_EE
-Do not build and install
-.Xr edit 1 ,
-.Xr ee 1 ,
-and related programs.
-.It Va WITHOUT_EFI
-Set not to build
-.Xr efivar 3
-and
-.Xr efivar 8 .
-.Pp
-This is a default setting on
-i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
-.It Va WITH_EFI
-Build
-.Xr efivar 3
-and
-.Xr efivar 8 .
-.Pp
-This is a default setting on
-amd64/amd64, arm/armv7, arm64/aarch64 and riscv/riscv64.
-.It Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
-Do not build ELF Tool Chain tools
-(addr2line, nm, size, strings and strip)
-as part of the bootstrap process.
-.Bf -symbolic
-An alternate bootstrap tool chain must be provided.
-.Ef
-.It Va WITHOUT_EXAMPLES
-Avoid installing examples to
-.Pa /usr/share/examples/ .
-.It Va WITH_EXPERIMENTAL
-Include experimental features in the build.
-.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.
-.Pp
-This is a default setting on
-amd64/amd64 and i386/i386.
-.It Va WITH_FDT
-Build Flattened Device Tree support as part of the base system.
-This includes the device tree compiler (dtc) and libfdt support library.
-.Pp
-This is a default setting on
-arm/armv7, arm64/aarch64, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
-.It Va WITHOUT_FILE
-Do not build
-.Xr file 1
-and related programs.
-.It Va WITHOUT_FINGER
-Do not build or install
-.Xr finger 1
-and
-.Xr fingerd 8 .
-.It Va WITHOUT_FLOPPY
-Do not build or install programs
-for operating floppy disk driver.
-.It Va WITHOUT_FORMAT_EXTENSIONS
-Do not enable
-.Fl fformat-extensions
-when compiling the kernel.
-Also disables all format checking.
-.It Va WITHOUT_FORTH
-Build bootloaders without Forth support.
-.It Va WITHOUT_FREEBSD_UPDATE
-Do not build
-.Xr freebsd-update 8 .
-.It Va WITHOUT_FTP
-Do not build or install
-.Xr ftp 1 .
-.It Va WITHOUT_GAMES
-Do not build games.
-.It Va WITHOUT_GOOGLETEST
-Neither build nor install
-.Lb libgmock ,
-.Lb libgtest ,
-and dependent tests.
-.It Va WITHOUT_GPIO
-Do not build
-.Xr gpioctl 8
-as part of the base system.
-.It Va WITHOUT_HAST
-Do not build
-.Xr hastd 8
-and related utilities.
-.It Va WITH_HESIOD
-Build Hesiod support.
-.It Va WITHOUT_HTML
-Do not build HTML docs.
-.It Va WITHOUT_HYPERV
-Do not build or install HyperV utilities.
-.Pp
-This is a default setting on
-arm/armv7, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
-.It Va WITH_HYPERV
-Build or install HyperV utilities.
-.Pp
-This is a default setting on
-amd64/amd64, arm64/aarch64 and i386/i386.
-.It Va WITHOUT_ICONV
-Do not build iconv as part of libc.
-.It Va WITHOUT_INCLUDES
-Do not install header files.
-This option used to be spelled
-.Va NO_INCS .
-.Bf -symbolic
-The option does not work for build targets.
-.Ef
-.It Va WITHOUT_INET
-Do not build programs and libraries related to IPv4 networking.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_INET_SUPPORT
-.El
-.It Va WITHOUT_INET6
-Do not build
-programs and libraries related to IPv6 networking.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_INET6_SUPPORT
-.El
-.It Va WITHOUT_INET6_SUPPORT
-Build libraries, programs, and kernel modules without IPv6 support.
-.It Va WITHOUT_INETD
-Do not build
-.Xr inetd 8 .
-.It Va WITHOUT_INET_SUPPORT
-Build libraries, programs, and kernel modules without IPv4 support.
-.It Va WITHOUT_INSTALLLIB
-Set this to not install optional libraries.
-For example, when creating a
-.Xr nanobsd 8
-image.
-.Bf -symbolic
-The option does not work for build targets.
-.Ef
-.It Va WITH_INSTALL_AS_USER
-Make install targets succeed for non-root users by installing
-files with owner and group attributes set to that of the user running
-the
-.Xr make 1
-command.
-The user still must set the
-.Va DESTDIR
-variable to point to a directory where the user has write permissions.
-.It Va WITHOUT_IPFILTER
-Do not build IP Filter package.
-.It Va WITH_IPFILTER_IPFS
-Enable building the
-.Xr ipfs 8
-tool to save and restore IPFilter state tables.
-.It Va WITHOUT_IPFW
-Do not build IPFW tools.
-.It Va WITHOUT_IPSEC_SUPPORT
-Do not build the kernel with
-.Xr ipsec 4
-support.
-This option is needed for
-.Xr ipsec 4
-and
-.Xr tcpmd5 4 .
-.It Va WITHOUT_ISCSI
-Do not build
-.Xr iscsid 8
-and related utilities.
-.It Va WITHOUT_JAIL
-Do not build tools for the support of jails; e.g.,
-.Xr jail 8 .
-.It Va WITHOUT_JEMALLOC_LG_VADDR_WIDE
-Disallow programs to use more than 48 address bits on amd64.
-Incompatible with LA57 mode.
-Enabling this option might result in a slight reduction in memory
-consumption for jemalloc metadata, but also requires disabling LA57
-(if hardware supports it).
-.It Va WITHOUT_KDUMP
-Do not build
-.Xr kdump 1
-and
-.Xr truss 1 .
-.It Va WITHOUT_KERBEROS
-Set this to not build Kerberos.
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITHOUT_KERBEROS_SUPPORT
-(unless
-.Va WITH_KERBEROS_SUPPORT
-is set explicitly)
-.El
-.It Va WITHOUT_KERBEROS_SUPPORT
-Build some programs without Kerberos support, like
-.Xr ssh 1 ,
-.Xr telnet 1 ,
-and
-.Xr sshd 8 .
-.It Va WITH_KERNEL_BIN
-Generate and install kernel.bin from kernel as part of the normal build and
-install processes for the kernel. Available only on arm and arm64.
-
-Usually this will be added to the kernel config file with:
-
-makeoptions WITH_KERNEL_BIN=1
-
-though it can also be used on the command line.
-.It Va WITH_KERNEL_RETPOLINE
-Enable the "retpoline" mitigation for CVE-2017-5715 in the kernel
-build.
-.It Va WITHOUT_KERNEL_SYMBOLS
-Do not install standalone kernel debug symbol files.
-This option has no effect at build time.
-.It Va WITHOUT_KVM
-Do not build the
-.Nm libkvm
-library as a part of the base system.
-.Bf -symbolic
-The option has no effect yet.
-.Ef
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITHOUT_KVM_SUPPORT
-(unless
-.Va WITH_KVM_SUPPORT
-is set explicitly)
-.El
-.It Va WITHOUT_KVM_SUPPORT
-Build some programs without optional
-.Nm libkvm
-support.
-.It Va WITHOUT_LDNS
-Setting this variable will prevent the LDNS library from being built.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_LDNS_UTILS
-.It
-.Va WITHOUT_UNBOUND
-.El
-.It Va WITHOUT_LDNS_UTILS
-Setting this variable will prevent building the LDNS utilities
-.Xr drill 1
-and
-.Xr host 1 .
-.It Va WITHOUT_LEGACY_CONSOLE
-Do not build programs that support a legacy PC console; e.g.,
-.Xr kbdcontrol 1
-and
-.Xr vidcontrol 1 .
-.It Va WITHOUT_LIB32
-On 64-bit platforms, do not build 32-bit library set and a
-.Nm ld-elf32.so.1
-runtime linker.
-.Pp
-This is a default setting on
-arm/armv7, i386/i386, powerpc/powerpc64le and riscv/riscv64.
-.It Va WITH_LIB32
-On 64-bit platforms, build the 32-bit library set and a
-.Nm ld-elf32.so.1
-runtime linker.
-.Pp
-This is a default setting on
-amd64/amd64, arm64/aarch64 and powerpc/powerpc64.
-.It Va WITHOUT_LLD
-Do not build LLVM's lld linker.
-.It Va WITHOUT_LLDB
-Do not build the LLDB debugger.
-.Pp
-This is a default setting on
-riscv/riscv64.
-.It Va WITH_LLDB
-Build the LLDB debugger.
-.Pp
-This is a default setting on
-amd64/amd64, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
-.It Va WITHOUT_LLD_BOOTSTRAP
-Do not build the LLD linker during the bootstrap phase of
-the build.
-To be able to build the system an alternate linker must be provided via XLD.
-.It Va WITHOUT_LLVM_ASSERTIONS
-Disable debugging assertions in LLVM.
-.It Va WITHOUT_LLVM_BINUTILS
-Install ELF Tool Chain's binary utilities instead of LLVM's.
-This includes
-.Xr addr2line 1 ,
-.Xr ar 1 ,
-.Xr nm 1 ,
-.Xr objcopy 1 ,
-.Xr ranlib 1 ,
-.Xr readelf 1 ,
-.Xr size 1 ,
-and
-.Xr strip 1 .
-Regardless of this setting, LLVM tools are used for
-.Xr c++filt 1
-and
-.Xr objdump 1 .
-.Xr strings 1
-is always provided by ELF Tool Chain.
-.It Va WITHOUT_LLVM_BINUTILS_BOOTSTRAP
-Do not build LLVM binary utilities during the bootstrap phase of
-the build.
-To be able to build the system alternate binary utilities must be provided via
-.Ev XAR ,
-.Ev XNM ,
-.Ev XOBJCOPY ,
-.Ev XSIZE ,
-.Ev XSTRINGS ,
-and
-.Ev XSTRIPBIN .
-
-.It Va WITHOUT_LLVM_COV
-Do not build the
-.Xr llvm-cov 1
-tool.
-.It Va WITH_LLVM_FULL_DEBUGINFO
-Generate full debug information for LLVM libraries and tools, which uses
-more disk space and build resources, but allows for easier debugging.
-.It Va WITH_LLVM_LINK_STATIC_LIBRARIES
-Link LLVM libraries (libllvm, libclang, liblldb) statically into each of
-the binaries that use them.
-
-This means that binaries linked against these libraries, such as clang,
-ld.lld and lldb will be much larger and position dependent, but will
-start more quickly.
-.It Va WITHOUT_LLVM_TARGET_AARCH64
-Do not build LLVM target support for AArch64.
-The
-.Va LLVM_TARGET_ALL
-option should be used rather than this in most cases.
-.It Va WITHOUT_LLVM_TARGET_ALL
-Only build the required LLVM target support.
-This option is preferred to specific target support options.
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITHOUT_LLVM_TARGET_AARCH64
-(unless
-.Va WITH_LLVM_TARGET_AARCH64
-is set explicitly)
-.It Va WITHOUT_LLVM_TARGET_ARM
-(unless
-.Va WITH_LLVM_TARGET_ARM
-is set explicitly)
-.It Va WITHOUT_LLVM_TARGET_POWERPC
-(unless
-.Va WITH_LLVM_TARGET_POWERPC
-is set explicitly)
-.It Va WITHOUT_LLVM_TARGET_RISCV
-(unless
-.Va WITH_LLVM_TARGET_RISCV
-is set explicitly)
-.El
-.It Va WITHOUT_LLVM_TARGET_ARM
-Do not build LLVM target support for ARM.
-The
-.Va LLVM_TARGET_ALL
-option should be used rather than this in most cases.
-.It Va WITH_LLVM_TARGET_BPF
-Build LLVM target support for BPF.
-The
-.Va LLVM_TARGET_ALL
-option should be used rather than this in most cases.
-.It Va WITH_LLVM_TARGET_MIPS
-Build LLVM target support for MIPS.
-The
-.Va LLVM_TARGET_ALL
-option should be used rather than this in most cases.
-.It Va WITHOUT_LLVM_TARGET_POWERPC
-Do not build LLVM target support for PowerPC.
-The
-.Va LLVM_TARGET_ALL
-option should be used rather than this in most cases.
-.It Va WITHOUT_LLVM_TARGET_RISCV
-Do not build LLVM target support for RISC-V.
-The
-.Va LLVM_TARGET_ALL
-option should be used rather than this in most cases.
-.It Va WITHOUT_LLVM_TARGET_X86
-Do not build LLVM target support for X86.
-The
-.Va LLVM_TARGET_ALL
-option should be used rather than this in most cases.
-.It Va WITHOUT_LOADER_BIOS_TEXTONLY
-Include graphics, font and video mode support in the i386 and amd64 BIOS
-boot loader.
-.It Va WITH_LOADER_EFI_SECUREBOOT
-Enable building
-.Xr loader 8
-with support for verification based on certificates obtained from UEFI.
-.It Va WITHOUT_LOADER_GELI
-Disable inclusion of GELI crypto support in the boot chain binaries.
-.Pp
-This is a default setting on
-powerpc/powerpc64 and powerpc/powerpc64le.
-.It Va WITH_LOADER_GELI
-Build GELI bootloader support.
-.Pp
-This is a default setting on
-amd64/amd64, arm/armv7, arm64/aarch64, i386/i386 and riscv/riscv64.
-.It Va WITHOUT_LOADER_IA32
-Do not build the 32-bit UEFI loader.
-.Pp
-This is a default setting on
-arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
-.It Va WITH_LOADER_IA32
-Build the 32-bit UEFI loader.
-.Pp
-This is a default setting on
-amd64/amd64.
-.It Va WITHOUT_LOADER_KBOOT
-Do not build kboot, a linuxboot environment loader
-.Pp
-This is a default setting on
-arm/armv7, i386/i386, powerpc/powerpc64le and riscv/riscv64.
-.It Va WITH_LOADER_KBOOT
-Build kboot, a linuxboot environment loader
-.Pp
-This is a default setting on
-amd64/amd64, arm64/aarch64 and powerpc/powerpc64.
-.It Va WITHOUT_LOADER_LUA
-Do not build LUA bindings for the boot loader.
-.Pp
-This is a default setting on
-powerpc/powerpc64 and powerpc/powerpc64le.
-.It Va WITH_LOADER_LUA
-Build LUA bindings for the boot loader.
-.Pp
-This is a default setting on
-amd64/amd64, arm/armv7, arm64/aarch64, i386/i386 and riscv/riscv64.
-.It Va WITHOUT_LOADER_OFW
-Disable building of openfirmware bootloader components.
-.Pp
-This is a default setting on
-amd64/amd64, arm/armv7, arm64/aarch64, i386/i386 and riscv/riscv64.
-.It Va WITH_LOADER_OFW
-Build openfirmware bootloader components.
-.Pp
-This is a default setting on
-powerpc/powerpc64 and powerpc/powerpc64le.
-.It Va WITHOUT_LOADER_PXEBOOT
-Do not build pxeboot on i386/amd64.
-When the pxeboot is too large, or unneeded, it may be disabled with this option.
-See
-.Va WITH_LOADER_PXEBOOT
-for how to adjust the defaults when you need both a larger
-.Pa /boot/loader
-and
-.Pa /boot/pxeboot
-.Pp
-This option only has an effect on x86.
-.It Va WITHOUT_LOADER_UBOOT
-Disable building of ubldr.
-.Pp
-This is a default setting on
-amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64le and riscv/riscv64.
-.It Va WITH_LOADER_UBOOT
-Build ubldr.
-.Pp
-This is a default setting on
-arm/armv7 and powerpc/powerpc64.
-.It Va WITH_LOADER_VERBOSE
-Build with extra verbose debugging in the loader.
-May explode already nearly too large loader over the limit.
-Use with care.
-.It Va WITH_LOADER_VERIEXEC
-Enable building
-.Xr loader 8
-with support for verification similar to Verified Exec.
-.Pp
-Depends on
-.Va WITH_BEARSSL .
-May require a larger
-.Va LOADERSIZE .
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITH_LOADER_EFI_SECUREBOOT
-(unless
-.Va WITHOUT_LOADER_EFI_SECUREBOOT
-is set explicitly)
-.It Va WITH_LOADER_VERIEXEC_VECTX
-(unless
-.Va WITHOUT_LOADER_VERIEXEC_VECTX
-is set explicitly)
-.El
-.It Va WITH_LOADER_VERIEXEC_PASS_MANIFEST
-Enable building
-.Xr loader 8
-with support to pass a verified manifest to the kernel.
-The kernel has to be built with a module to parse the manifest.
-.Pp
-Depends on
-.Va WITH_LOADER_VERIEXEC .
-.It Va WITH_LOADER_VERIEXEC_VECTX
-Enable building
-.Xr loader 8
-with support for hashing and verifying kernel and modules as a side effect
-of loading.
-.Pp
-Depends on
-.Va WITH_LOADER_VERIEXEC .
-.It Va WITHOUT_LOADER_ZFS
-Do not build ZFS file system boot loader support.
-.It Va WITHOUT_LOCALES
-Do not build localization files; see
-.Xr locale 1 .
-.It Va WITHOUT_LOCATE
-Do not build
-.Xr locate 1
-and related programs.
-.It Va WITHOUT_LPR
-Do not build
-.Xr lpr 1
-and related programs.
-.It Va WITHOUT_LS_COLORS
-Build
-.Xr ls 1
-without support for colors to distinguish file types.
-.It Va WITHOUT_MACHDEP_OPTIMIZATIONS
-Prefer machine-independent non-assembler code in libc and libm.
-.It Va WITHOUT_MAIL
-Do not build any mail support (MUA or MTA).
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_DMAGENT
-.It
-.Va WITHOUT_MAILWRAPPER
-.It
-.Va WITHOUT_SENDMAIL
-.El
-.It Va WITHOUT_MAILWRAPPER
-Do not build the
-.Xr mailwrapper 8
-MTA selector.
-.It Va WITHOUT_MAKE
-Do not install
-.Xr make 1
-and related support files.
-.It Va WITHOUT_MAKE_CHECK_USE_SANDBOX
-Do not execute
-.Dq Li "make check"
-in limited sandbox mode.
-This option should be paired with
-.Va WITH_INSTALL_AS_USER
-if executed as an unprivileged user.
-See
-.Xr tests 7
-for more details.
-.It Va WITH_MALLOC_PRODUCTION
-Disable assertions and statistics gathering in
-.Xr malloc 3 .
-The run-time options
-.Dv opt.abort ,
-.Dv opt.abort_conf ,
-and
-.Dv opt.junk
-also default to false.
-.It Va WITHOUT_MAN
-Do not build manual pages.
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITHOUT_MAN_UTILS
-(unless
-.Va WITH_MAN_UTILS
-is set explicitly)
-.El
-.It Va WITHOUT_MANCOMPRESS
-Do not install compressed man pages.
-Only the uncompressed versions will be installed.
-.It Va WITH_MANSPLITPKG
-Split man pages into their own packages during make package.
-.It Va WITHOUT_MAN_UTILS
-Do not build utilities for manual pages,
-.Xr apropos 1 ,
-.Xr makewhatis 1 ,
-.Xr man 1 ,
-.Xr whatis 1 ,
-.Xr manctl 8 ,
-and related support files.
-.It Va WITH_META_ERROR_TARGET
-Enable the META_MODE .ERROR target.
-.Pp
-This target will copy the meta file of a failed target
-to
-.Va ERROR_LOGDIR
-(default is
-.Ql ${SRCTOP:H}/error )
-to help with failure analysis.
-Depends on
-.Va WITH_META_MODE .
-This default when
-.Va WITH_DIRDEPS_BUILD
-is set.
-.Pp
-This must be set in the environment, make command line, or
-.Pa /etc/src-env.conf ,
-not
-.Pa /etc/src.conf .
-.It Va WITH_META_MODE
-Create
-.Xr make 1
-meta files when building, which can provide a reliable incremental build when
-using
-.Xr filemon 4 .
-The meta file is created in OBJDIR as
-.Pa target.meta .
-These meta files track the command that was executed, its output, and the
-current directory.
-The
-.Xr filemon 4
-module is required unless
-.Va NO_FILEMON
-is defined.
-When the module is loaded, any files used by the commands executed are
-tracked as dependencies for the target in its meta file.
-The target is considered out-of-date and rebuilt if any of these
-conditions are true compared to the last build:
-.Bl -bullet -compact
-.It
-The command to execute changes.
-.It
-The current working directory changes.
-.It
-The target's meta file is missing.
-.It
-The target's meta file is missing filemon data when filemon is loaded
-and a previous run did not have it loaded.
-.It
-[requires
-.Xr filemon 4 ]
-Files read, executed or linked to are newer than the target.
-.It
-[requires
-.Xr filemon 4 ]
-Files read, written, executed or linked are missing.
-.El
-The meta files can also be useful for debugging.
-.Pp
-The build hides commands that are executed unless
-.Va NO_SILENT
-is defined.
-Errors cause
-.Xr make 1
-to show some of its environment for further debugging.
-.Pp
-The build operates as it normally would otherwise.
-This option originally invoked a different build system but that was renamed
-to
-.Va WITH_DIRDEPS_BUILD .
-.Pp
-This must be set in the environment, make command line, or
-.Pa /etc/src-env.conf ,
-not
-.Pa /etc/src.conf .
-.It Va WITHOUT_MITKRB5
-Set this to build KTH Heimdal instead of MIT Kerberos 5.
-.It Va WITHOUT_MLX5TOOL
-Do not build
-.Xr mlx5tool 8
-.Pp
-This is a default setting on
-arm/armv7 and riscv/riscv64.
-.It Va WITH_MLX5TOOL
-Build
-.Xr mlx5tool 8
-.Pp
-This is a default setting on
-amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
-.It Va WITHOUT_NETCAT
-Do not build
-.Xr nc 1
-utility.
-.It Va WITHOUT_NETGRAPH
-Do not build applications to support
-.Xr netgraph 4 .
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_BLUETOOTH
-.El
-.Pp
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITHOUT_NETGRAPH_SUPPORT
-(unless
-.Va WITH_NETGRAPH_SUPPORT
-is set explicitly)
-.El
-.It Va WITHOUT_NETGRAPH_SUPPORT
-Build libraries, programs, and kernel modules without netgraph support.
-.It Va WITHOUT_NETLINK
-Do not build
-.Xr genl 1
-utility.
-.It Va WITHOUT_NETLINK_SUPPORT
-Make libraries and programs use rtsock and
-.Xr sysctl 3
-interfaces instead of
-.Xr snl 3 .
-.It Va WITHOUT_NIS
-Do not build
-.Xr NIS 8
-support and related programs.
-If set, you might need to adopt your
-.Xr nsswitch.conf 5
-and remove
-.Sq nis
-entries.
-.It Va WITHOUT_NLS
-Do not build NLS catalogs.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_NLS_CATALOGS
-.El
-.It Va WITHOUT_NLS_CATALOGS
-Do not build NLS catalog support for
-.Xr csh 1 .
-.It Va WITHOUT_NS_CACHING
-Disable name caching in the
-.Pa nsswitch
-subsystem.
-The generic caching daemon,
-.Xr nscd 8 ,
-will not be built either if this option is set.
-.It Va WITHOUT_NTP
-Do not build
-.Xr ntpd 8
-and related programs.
-.It Va WITHOUT_NUAGEINIT
-Do not install the limited cloud init support scripts.
-.It Va WITHOUT_OFED
-Do not build the
-.Dq "OpenFabrics Enterprise Distribution"
-InfiniBand software stack, including kernel modules and userspace libraries.
-.Pp
-This is a default setting on
-arm/armv7.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_OFED_EXTRA
-.El
-.It Va WITH_OFED
-Build the
-.Dq "OpenFabrics Enterprise Distribution"
-InfiniBand software stack, including kernel modules and userspace libraries.
-.Pp
-This is a default setting on
-amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
-.It Va WITH_OFED_EXTRA
-Build the non-essential components of the
-.Dq "OpenFabrics Enterprise Distribution"
-Infiniband software stack, mostly examples.
-.It Va WITH_OPENLDAP
-Enable building LDAP support for kerberos using an openldap client from ports.
-.It Va WITHOUT_OPENMP
-Do not build LLVM's OpenMP runtime.
-.Pp
-This is a default setting on
-arm/armv7.
-.It Va WITH_OPENMP
-Build LLVM's OpenMP runtime.
-.Pp
-This is a default setting on
-amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
-.It Va WITHOUT_OPENSSH
-Do not build OpenSSH.
-.It Va WITHOUT_OPENSSL
-Do not build OpenSSL.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_DMAGENT
-.It
-.Va WITHOUT_KERBEROS
-.It
-.Va WITHOUT_LDNS
-.It
-.Va WITHOUT_LDNS_UTILS
-.It
-.Va WITHOUT_LOADER_ZFS
-.It
-.Va WITHOUT_MITKRB5
-.It
-.Va WITHOUT_OPENSSH
-.It
-.Va WITHOUT_OPENSSL_KTLS
-.It
-.Va WITHOUT_PKGBOOTSTRAP
-.It
-.Va WITHOUT_UNBOUND
-.It
-.Va WITHOUT_ZFS
-.It
-.Va WITHOUT_ZFS_TESTS
-.El
-.Pp
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITHOUT_KERBEROS_SUPPORT
-(unless
-.Va WITH_KERBEROS_SUPPORT
-is set explicitly)
-.El
-.It Va WITHOUT_OPENSSL_KTLS
-Do not include kernel TLS support in OpenSSL.
-.Pp
-This is a default setting on
-arm/armv7, i386/i386 and riscv/riscv64.
-.It Va WITH_OPENSSL_KTLS
-Include kernel TLS support in OpenSSL.
-.Pp
-This is a default setting on
-amd64/amd64, arm64/aarch64, powerpc/powerpc64 and powerpc/powerpc64le.
-.It Va WITHOUT_PAM
-Do not build PAM library and modules.
-.Bf -symbolic
-This option is deprecated and does nothing.
-.Ef
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITHOUT_PAM_SUPPORT
-(unless
-.Va WITH_PAM_SUPPORT
-is set explicitly)
-.El
-.It Va WITHOUT_PAM_SUPPORT
-Build
-.Xr ppp 8
-without PAM support.
-.It Va WITHOUT_PF
-Do not build PF firewall package.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_AUTHPF
-.El
-.It Va WITHOUT_PIE
-Do not build dynamically linked binaries as
-Position-Independent Executable (PIE).
-.Pp
-This is a default setting on
-arm/armv7 and i386/i386.
-.It Va WITH_PIE
-Build dynamically linked binaries as
-Position-Independent Executable (PIE).
-.Pp
-This is a default setting on
-amd64/amd64, arm64/aarch64, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
-.It Va WITHOUT_PKGBOOTSTRAP
-Do not build
-.Xr pkg 7
-bootstrap tool.
-.It Va WITHOUT_PKGSERVE
-Do not build or install
-.Xr pkg-serve 8 .
-.It Va WITHOUT_PMC
-Do not build
-.Xr pmccontrol 8
-and related programs.
-.It Va WITHOUT_PPP
-Do not build
-.Xr ppp 8
-and related programs.
-.It Va WITHOUT_PTHREADS_ASSERTIONS
-Disable debugging assertions in pthreads library.
-.It Va WITHOUT_QUOTAS
-Do not build
-.Xr quota 1
-and related programs.
-.It Va WITHOUT_RADIUS_SUPPORT
-Do not build radius support into various applications, like
-.Xr pam_radius 8
-and
-.Xr ppp 8 .
-.It Va WITH_RATELIMIT
-Build the system with rate limit support.
-.Pp
-This makes
-.Dv SO_MAX_PACING_RATE
-effective in
-.Xr getsockopt 2 ,
-and
-.Ar txrlimit
-support in
-.Xr ifconfig 8 ,
-by proxy.
-.It Va WITHOUT_RBOOTD
-Do not build or install
-.Xr rbootd 8 .
-.It Va WITHOUT_RELRO
-Do not apply the Relocation Read-Only (RELRO) vulnerability mitigation.
-See also the
-.Va BIND_NOW
-option.
-.It Va WITH_REPRODUCIBLE_BUILD
-Exclude build metadata (such as the build time, user, or host)
-from the kernel, boot loaders, and
-.Xr uname 1
-output, so that builds produce
-bit-for-bit identical output.
-.It Va WITH_REPRODUCIBLE_PATHS
-Modify the paths encoded in binary artifacts to be standard path
-
-Normally, the actual path is encoded in the binary. However, this makes the
-build differ depending on the path it was built from. With this option enabled,
-the paths recorded are /usr/src, regardless of the actual path. With this option
-disabled, the actual paths are recorded.
-.It Va WITHOUT_RESCUE
-Do not build
-.Xr rescue 8 .
-.It Va WITH_RETPOLINE
-Build the base system with the retpoline speculative execution
-vulnerability mitigation for CVE-2017-5715.
-.It Va WITHOUT_ROUTED
-Do not build
-.Xr routed 8
-utility.
-.It Va WITH_RPCBIND_WARMSTART_SUPPORT
-Build
-.Xr rpcbind 8
-with warmstart support.
-.It Va WITH_RUN_TESTS
-Run tests as part of the build.
-.It Va WITHOUT_SCTP_SUPPORT
-Disable support in the kernel for the
-.Xr sctp 4
-Stream Control Transmission Protocol
-loadable kernel module.
-.It Va WITHOUT_SENDMAIL
-Do not build
-.Xr sendmail 8
-and related programs.
-.It Va WITHOUT_SERVICESDB
-Do not install
-.Pa /var/db/services.db .
-.It Va WITHOUT_SETUID_LOGIN
-Set this to disable the installation of
-.Xr login 1
-as a set-user-ID root program.
-.It Va WITHOUT_SHAREDOCS
-Do not build the
-.Bx 4.4
-legacy docs.
-.It Va WITH_SORT_THREADS
-Enable threads in
-.Xr sort 1 .
-.It Va WITHOUT_SOUND
-Do not build userland sound utilities such as
-.Xr beep 1
-and
-.Xr mixer 8 .
-.It Va WITHOUT_SOURCELESS
-Do not build kernel modules that include sourceless code (either microcode or native code for host CPU).
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_SOURCELESS_HOST
-.It
-.Va WITHOUT_SOURCELESS_UCODE
-.El
-.It Va WITHOUT_SOURCELESS_HOST
-Do not build kernel modules that include sourceless native code for host CPU.
-.It Va WITHOUT_SOURCELESS_UCODE
-Do not build kernel modules that include sourceless microcode.
-.It Va WITHOUT_SPLIT_KERNEL_DEBUG
-Do not build standalone kernel debug files.
-Debug data (if enabled by the kernel configuration file)
-will be included in the kernel and modules.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_KERNEL_SYMBOLS
-.El
-.It Va WITHOUT_SSP
-Do not build world with stack smashing protection.
-See
-.Xr mitigations 7
-for more information.
-.It Va WITH_STAGING
-Enable staging of files to a stage tree.
-This can be best thought of as auto-install to
-.Va DESTDIR
-with some extra meta data to ensure dependencies can be tracked.
-Depends on
-.Va WITH_DIRDEPS_BUILD .
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITH_STAGING_MAN
-(unless
-.Va WITHOUT_STAGING_MAN
-is set explicitly)
-.It Va WITH_STAGING_PROG
-(unless
-.Va WITHOUT_STAGING_PROG
-is set explicitly)
-.El
-.Pp
-This must be set in the environment, make command line, or
-.Pa /etc/src-env.conf ,
-not
-.Pa /etc/src.conf .
-.It Va WITH_STAGING_MAN
-Enable staging of man pages to stage tree.
-.It Va WITH_STAGING_PROG
-Enable staging of PROGs to stage tree.
-.It Va WITH_STALE_STAGED
-Check staged files are not stale.
-.It Va WITHOUT_STATS
-Neither build nor install
-.Lb libstats
-and dependent binaries.
-.It Va WITHOUT_SYSCONS
-Do not build
-.Xr syscons 4
-support files such as keyboard maps, fonts, and screen output maps.
-.It Va WITH_SYSROOT
-Enable use of sysroot during build.
-Depends on
-.Va WITH_DIRDEPS_BUILD .
-.Pp
-This must be set in the environment, make command line, or
-.Pa /etc/src-env.conf ,
-not
-.Pa /etc/src.conf .
-.It Va WITHOUT_SYSTEM_COMPILER
-Do not opportunistically skip building a cross-compiler during the
-bootstrap phase of the build.
-Normally, if the currently installed compiler matches the planned bootstrap
-compiler type and revision, then it will not be built.
-This does not prevent a compiler from being built for installation though,
-only for building one for the build itself.
-The
-.Va WITHOUT_CLANG
-option controls that.
-.It Va WITHOUT_SYSTEM_LINKER
-Do not opportunistically skip building a cross-linker during the
-bootstrap phase of the build.
-Normally, if the currently installed linker matches the planned bootstrap
-linker type and revision, then it will not be built.
-This does not prevent a linker from being built for installation though,
-only for building one for the build itself.
-The
-.Va WITHOUT_LLD
-option controls that.
-.Pp
-This option is only relevant when
-.Va WITH_LLD_BOOTSTRAP
-is set.
-.It Va WITHOUT_TALK
-Do not build or install
-.Xr talk 1
-and
-.Xr talkd 8 .
-.It Va WITHOUT_TCP_WRAPPERS
-Do not build or install
-.Xr tcpd 8 ,
-and related utilities.
-.It Va WITHOUT_TCSH
-Do not build and install
-.Pa /bin/csh
-(which is
-.Xr tcsh 1 ) .
-.It Va WITHOUT_TELNET
-Do not build
-.Xr telnet 1
-and related programs.
-.It Va WITHOUT_TESTS
-Do not build nor install the
-.Fx
-Test Suite in
-.Pa /usr/tests/ .
-See
-.Xr tests 7
-for more details.
-This also disables the build of all test-related dependencies, including ATF.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_DTRACE_TESTS
-.It
-.Va WITHOUT_ZFS_TESTS
-.El
-.Pp
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITHOUT_GOOGLETEST
-(unless
-.Va WITH_GOOGLETEST
-is set explicitly)
-.It Va WITHOUT_TESTS_SUPPORT
-(unless
-.Va WITH_TESTS_SUPPORT
-is set explicitly)
-.El
-.It Va WITHOUT_TESTS_SUPPORT
-Disable the build of all test-related dependencies, including ATF.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_GOOGLETEST
-.El
-.It Va WITHOUT_TEXTPROC
-Do not build
-programs used for text processing.
-.It Va WITHOUT_TFTP
-Do not build or install
-.Xr tftp 1
-and
-.Xr tftpd 8 .
-.It Va WITHOUT_TOOLCHAIN
-Do not install
-programs used for program development,
-compilers, debuggers etc.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_CLANG
-.It
-.Va WITHOUT_CLANG_EXTRAS
-.It
-.Va WITHOUT_CLANG_FORMAT
-.It
-.Va WITHOUT_CLANG_FULL
-.It
-.Va WITHOUT_LLD
-.It
-.Va WITHOUT_LLDB
-.It
-.Va WITHOUT_LLVM_COV
-.El
-.Pp
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITHOUT_LLVM_BINUTILS
-(unless
-.Va WITH_LLVM_BINUTILS
-is set explicitly)
-.El
-.It Va WITH_UBSAN
-Build the base system with Undefined Behavior Sanitizer (UBSan) to detect
-various kinds of undefined behavior at runtime.
-Requires that Clang be used as the base system compiler
-and that the runtime support library is available
-.It Va WITHOUT_UNBOUND
-Do not build
-.Xr unbound 8
-and related programs.
-.It Va WITH_UNDEFINED_VERSION
-Link libraries with --undefined-version which permits version maps to
-contain symbols that are not present in the library.
-If this is necessary to build a particular configuration, a bug is
-present and the configuration should be reported.
-.It Va WITHOUT_UNIFIED_OBJDIR
-Use the historical object directory format for
-.Xr build 7
-targets.
-For native-builds and builds done directly in sub-directories the format of
-.Pa ${MAKEOBJDIRPREFIX}/${.CURDIR}
-is used,
-while for cross-builds
-.Pa ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${.CURDIR}
-is used.
-.Pp
-This option is transitional and will be removed in a future version of
-.Fx ,
-at which time
-.Va WITH_UNIFIED_OBJDIR
-will be enabled permanently.
-.Pp
-This must be set in the environment, make command line, or
-.Pa /etc/src-env.conf ,
-not
-.Pa /etc/src.conf .
-.It Va WITHOUT_USB
-Do not build USB-related programs and libraries.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_USB_GADGET_EXAMPLES
-.El
-.It Va WITHOUT_USB_GADGET_EXAMPLES
-Do not build USB gadget kernel modules.
-.It Va WITHOUT_UTMPX
-Do not build user accounting tools such as
-.Xr last 1 ,
-.Xr users 1 ,
-.Xr who 1 ,
-.Xr ac 8 ,
-.Xr lastlogin 8
-and
-.Xr utx 8 .
-.It Va WITH_VERIEXEC
-Enable building
-.Xr veriexec 8
-which loads the contents of verified manifests into the kernel
-for use by
-.Xr mac_veriexec 4
-.Pp
-Depends on
-.Va WITH_BEARSSL .
-.It Va WITHOUT_VI
-Do not build and install vi, view, ex and related programs.
-.It Va WITHOUT_VT
-Do not build
-.Xr vt 4
-support files (fonts and keymaps).
-.It Va WITHOUT_WARNS
-Set this to not add warning flags to the compiler invocations.
-Useful as a temporary workaround when code enters the tree
-which triggers warnings in environments that differ from the
-original developer.
-.It Va WITHOUT_WERROR
-Set this to not treat compiler warnings as errors.
-Useful as a temporary workaround when working on fixing compiler warnings.
-When set, warnings are still printed in the build log but do not fail the build.
-.It Va WITHOUT_WIRELESS
-Do not build programs used for 802.11 wireless networks; especially
-.Xr wpa_supplicant 8
-and
-.Xr hostapd 8 .
-When set, these options are also in effect:
-.Pp
-.Bl -inset -compact
-.It Va WITHOUT_WIRELESS_SUPPORT
-(unless
-.Va WITH_WIRELESS_SUPPORT
-is set explicitly)
-.El
-.It Va WITHOUT_WIRELESS_SUPPORT
-Build libraries, programs, and kernel modules without
-802.11 wireless support.
-.It Va WITHOUT_WPA_SUPPLICANT_EAPOL
-Build
-.Xr wpa_supplicant 8
-without support for the IEEE 802.1X protocol and without
-support for EAP-PEAP, EAP-TLS, EAP-LEAP, and EAP-TTLS
-protocols (usable only via 802.1X).
-.It Va WITH_ZEROREGS
-Build the basesystem with code to zero caller-used register contents
-on function return.
-This prevents leaking temporary values for side channel attacks.
-Additionally this reduces the number of usable ROP gadgets for attackers.
-.It Va WITHOUT_ZFS
-Do not build the ZFS file system kernel module, libraries such as
-.Xr libbe 3 ,
-and user commands such as
-.Xr zpool 8
-or
-.Xr zfs 8 .
-Also disable ZFS support in utilities and libraries which implement
-ZFS-specific functionality.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_ZFS_TESTS
-.El
-.It Va WITHOUT_ZFS_TESTS
-Do not build and install the legacy ZFS test suite.
-.It Va WITHOUT_ZONEINFO
-Do not build the timezone database.
-When set, it enforces these options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_ZONEINFO_LEAPSECONDS_SUPPORT
-.El
-.It Va WITH_ZONEINFO_LEAPSECONDS_SUPPORT
-Build leapsecond information in to the timezone database.
-This option violates
-.St -p1003.1
-and all other applicable standards, and is known to cause unexpected
-issues with date/time handling in many applications and programming
-languages.
.El
.Pp
The following options accept a single value from a list of valid values.
.Bl -tag -width indent
-.It Va INIT_ALL
-Control default initialization of stack variables in C and C++ code.
-Options other than
-.Li none
-require the Clang compiler or GCC 12.0 or later.
-The default value is
-.Li none .
-Valid values are:
-.Bl -tag -width indent
-.It Li none
-Do not initialize stack variables (standard C/C++ behavior).
-.It Li pattern
-Build the base system or kernel with stack variables initialized to
-.Pq compiler defined
-debugging patterns on function entry.
-.It Li zero
-Build the base system or kernel with stack variables initialized
-to zero on function entry.
-This value is converted to
-.Li none
-for amd64 kernel builds due to incompatibility with ifunc memset.
-.El
-.It Va LIBC_MALLOC
-Specify the
-.Xr malloc 3
-implementation used by libc.
-The default value is
-.Li jemalloc .
-Valid values are:
-.Bl -tag -width indent
-.It Li jemalloc
-.El
-.Pp
-Other implementations are expected in the future in both
-.Fx
-and downstream consumers.
.El
.Sh FILES
.Bl -tag -compact -width Pa
diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk
--- a/share/mk/src.opts.mk
+++ b/share/mk/src.opts.mk
@@ -207,7 +207,6 @@
DISK_IMAGE_TOOLS_BOOTSTRAP \
DTRACE_ASAN \
DTRACE_TESTS \
- EXPERIMENTAL \
HESIOD \
IPFILTER_IPFS \
LOADER_VERBOSE \
diff --git a/sys/conf/options b/sys/conf/options
--- a/sys/conf/options
+++ b/sys/conf/options
@@ -104,7 +104,6 @@
COMPILING_LINT opt_global.h
CY_PCI_FASTINTR
DEADLKRES opt_watchdog.h
-EXPERIMENTAL opt_global.h
DIRECTIO
FFCLOCK
FULL_PREEMPTION opt_sched.h
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c
--- a/sys/net/if_ethersubr.c
+++ b/sys/net/if_ethersubr.c
@@ -475,27 +475,6 @@
return (0);
}
-#ifdef EXPERIMENTAL
-#if defined(INET6) && defined(INET)
- /* draft-ietf-6man-ipv6only-flag */
- /* Catch ETHERTYPE_IP, and ETHERTYPE_[REV]ARP if we are v6-only. */
- if ((ifp->if_inet6->nd_flags & ND6_IFF_IPV6_ONLY_MASK) != 0) {
- struct ether_header *eh;
-
- eh = mtod(m, struct ether_header *);
- switch (ntohs(eh->ether_type)) {
- case ETHERTYPE_IP:
- case ETHERTYPE_ARP:
- case ETHERTYPE_REVARP:
- m_freem(m);
- return (EAFNOSUPPORT);
- /* NOTREACHED */
- break;
- };
- }
-#endif
-#endif
-
/*
* Queue message on interface, update output statistics if successful,
* and start output if interface not yet active.
@@ -541,24 +520,6 @@
etype = ntohs(eh->ether_type);
random_harvest_queue_ether(m, sizeof(*m));
-#ifdef EXPERIMENTAL
-#if defined(INET6) && defined(INET)
- /* draft-ietf-6man-ipv6only-flag */
- /* Catch ETHERTYPE_IP, and ETHERTYPE_[REV]ARP if we are v6-only. */
- if ((ifp->if_inet6->nd_flags & ND6_IFF_IPV6_ONLY_MASK) != 0) {
- switch (etype) {
- case ETHERTYPE_IP:
- case ETHERTYPE_ARP:
- case ETHERTYPE_REVARP:
- m_freem(m);
- return;
- /* NOTREACHED */
- break;
- };
- }
-#endif
-#endif
-
CURVNET_SET_QUIET(ifp->if_vnet);
if (ETHER_IS_MULTICAST(eh->ether_dhost)) {
diff --git a/sys/netinet/icmp6.h b/sys/netinet/icmp6.h
--- a/sys/netinet/icmp6.h
+++ b/sys/netinet/icmp6.h
@@ -243,10 +243,6 @@
#define ND_RA_FLAG_RTPREF_LOW 0x18 /* 00011000 */
#define ND_RA_FLAG_RTPREF_RSV 0x10 /* 00010000 */
-#ifdef EXPERIMENTAL
-#define ND_RA_FLAG_IPV6_ONLY 0x02 /* draft-ietf-6man-ipv6only-flag */
-#endif
-
#define nd_ra_router_lifetime nd_ra_hdr.icmp6_data16[1]
struct nd_neighbor_solicit { /* neighbor solicitation */
diff --git a/sys/netinet6/nd6.h b/sys/netinet6/nd6.h
--- a/sys/netinet6/nd6.h
+++ b/sys/netinet6/nd6.h
@@ -74,12 +74,6 @@
#define ND6_IFF_NO_PREFER_IFACE 0x80 /* XXX: not related to ND. */
#define ND6_IFF_NO_DAD 0x100
#define ND6_IFF_STABLEADDR 0x800
-#ifdef EXPERIMENTAL
-/* XXX: not related to ND. */
-#define ND6_IFF_IPV6_ONLY 0x200 /* draft-ietf-6man-ipv6only-flag */
-#define ND6_IFF_IPV6_ONLY_MANUAL 0x400
-#define ND6_IFF_IPV6_ONLY_MASK (ND6_IFF_IPV6_ONLY|ND6_IFF_IPV6_ONLY_MANUAL)
-#endif
struct in6_nbrinfo {
char ifname[IFNAMSIZ]; /* if name, e.g. "en0" */
diff --git a/sys/netinet6/nd6_rtr.c b/sys/netinet6/nd6_rtr.c
--- a/sys/netinet6/nd6_rtr.c
+++ b/sys/netinet6/nd6_rtr.c
@@ -104,16 +104,6 @@
VNET_DEFINE(int, ip6_temp_regen_advance) = TEMPADDR_REGEN_ADVANCE;
-#ifdef EXPERIMENTAL
-VNET_DEFINE_STATIC(int, nd6_ignore_ipv6_only_ra) = 1;
-#define V_nd6_ignore_ipv6_only_ra VNET(nd6_ignore_ipv6_only_ra)
-SYSCTL_INT(_net_inet6_icmp6, OID_AUTO,
- nd6_ignore_ipv6_only_ra, CTLFLAG_VNET | CTLFLAG_RW,
- &VNET_NAME(nd6_ignore_ipv6_only_ra), 0,
- "Ignore the 'IPv6-Only flag' in RA messages in compliance with "
- "draft-ietf-6man-ipv6only-flag");
-#endif
-
/* RTPREF_MEDIUM has to be 0! */
#define RTPREF_HIGH 1
#define RTPREF_MEDIUM 0
@@ -248,97 +238,6 @@
m_freem(m);
}
-#ifdef EXPERIMENTAL
-/*
- * An initial update routine for draft-ietf-6man-ipv6only-flag.
- * We need to iterate over all default routers for the given
- * interface to see whether they are all advertising the "S"
- * (IPv6-Only) flag. If they do set, otherwise unset, the
- * interface flag we later use to filter on.
- *
- * XXXGL: The use of IF_ADDR_WLOCK (previously it was IF_AFDATA_LOCK) in this
- * function is quite strange.
- */
-static void
-defrtr_ipv6_only_ifp(struct ifnet *ifp)
-{
- struct nd_defrouter *dr;
- bool ipv6_only, ipv6_only_old;
-#ifdef INET
- struct epoch_tracker et;
- struct ifaddr *ifa;
- bool has_ipv4_addr;
-#endif
-
- if (V_nd6_ignore_ipv6_only_ra != 0)
- return;
-
- ipv6_only = true;
- ND6_RLOCK();
- TAILQ_FOREACH(dr, &V_nd6_defrouter, dr_entry)
- if (dr->ifp == ifp &&
- (dr->raflags & ND_RA_FLAG_IPV6_ONLY) == 0)
- ipv6_only = false;
- ND6_RUNLOCK();
-
- IF_ADDR_WLOCK(ifp);
- ipv6_only_old = ifp->if_inet6->nd_flags & ND6_IFF_IPV6_ONLY;
- IF_ADDR_WUNLOCK(ifp);
-
- /* If nothing changed, we have an early exit. */
- if (ipv6_only == ipv6_only_old)
- return;
-
-#ifdef INET
- /*
- * Should we want to set the IPV6-ONLY flag, check if the
- * interface has a non-0/0 and non-link-local IPv4 address
- * configured on it. If it has we will assume working
- * IPv4 operations and will clear the interface flag.
- */
- has_ipv4_addr = false;
- if (ipv6_only) {
- NET_EPOCH_ENTER(et);
- CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
- if (ifa->ifa_addr->sa_family != AF_INET)
- continue;
- if (in_canforward(
- satosin(ifa->ifa_addr)->sin_addr)) {
- has_ipv4_addr = true;
- break;
- }
- }
- NET_EPOCH_EXIT(et);
- }
- if (ipv6_only && has_ipv4_addr) {
- log(LOG_NOTICE, "%s rcvd RA w/ IPv6-Only flag set but has IPv4 "
- "configured, ignoring IPv6-Only flag.\n", ifp->if_xname);
- ipv6_only = false;
- }
-#endif
-
- IF_ADDR_WLOCK(ifp);
- if (ipv6_only)
- ifp->if_inet6->nd_flags |= ND6_IFF_IPV6_ONLY;
- else
- ifp->if_inet6->nd_flags &= ~ND6_IFF_IPV6_ONLY;
- IF_ADDR_WUNLOCK(ifp);
-
-#ifdef notyet
- /* Send notification of flag change. */
-#endif
-}
-
-static void
-defrtr_ipv6_only_ipf_down(struct ifnet *ifp)
-{
-
- IF_ADDR_WLOCK(ifp);
- ifp->if_inet6->nd_flags &= ~ND6_IFF_IPV6_ONLY;
- IF_ADDR_WUNLOCK(ifp);
-}
-#endif /* EXPERIMENTAL */
-
void
nd6_ifnet_link_event(void *arg __unused, struct ifnet *ifp, int linkstate)
{
@@ -349,10 +248,6 @@
* unreachable but a different interface might still have connectivity.
*/
-#ifdef EXPERIMENTAL
- if (linkstate == LINK_STATE_DOWN)
- defrtr_ipv6_only_ipf_down(ifp);
-#endif
}
static void
@@ -599,9 +494,6 @@
}
}
dr = defrtrlist_update(&dr0);
-#ifdef EXPERIMENTAL
- defrtr_ipv6_only_ifp(ifp);
-#endif
/* Prefix Information */
if (ndopts.nd_opts_pi != NULL) {
/*
@@ -779,10 +671,6 @@
if (dr->ifp->if_inet6->nd_flags & ND6_IFF_ACCEPT_RTADV)
rt6_flush(&dr->rtaddr, dr->ifp);
-#ifdef EXPERIMENTAL
- defrtr_ipv6_only_ifp(dr->ifp);
-#endif
-
if (dr->installed) {
deldr = dr;
defrouter_delreq(dr);
diff --git a/tools/build/options/WITH_EXPERIMENTAL b/tools/build/options/WITH_EXPERIMENTAL
deleted file mode 100644
--- a/tools/build/options/WITH_EXPERIMENTAL
+++ /dev/null
@@ -1 +0,0 @@
-Include experimental features in the build.
diff --git a/usr.sbin/ndp/Makefile b/usr.sbin/ndp/Makefile
--- a/usr.sbin/ndp/Makefile
+++ b/usr.sbin/ndp/Makefile
@@ -23,11 +23,6 @@
CFLAGS+= -I. -I${.CURDIR}
CFLAGS+= -D_U_=""
-.if ${MK_EXPERIMENTAL} != "no"
-CFLAGS+= -DEXPERIMENTAL
-CFLAGS+= -DDRAFT_IETF_6MAN_IPV6ONLY_FLAG
-.endif
-
.if ${MK_NETLINK_SUPPORT} != "no"
SRCS+= ndp_netlink.c
.else
diff --git a/usr.sbin/ndp/ndp.c b/usr.sbin/ndp/ndp.c
--- a/usr.sbin/ndp/ndp.c
+++ b/usr.sbin/ndp/ndp.c
@@ -1225,12 +1225,7 @@
*pflags++ = 'O';
xo_emit("{el:%s}", "other");
}
-#ifdef DRAFT_IETF_6MAN_IPV6ONLY_FLAG
- if (p->flags & ND_RA_FLAG_IPV6_ONLY) {
- *pflags++ = 'S';
- xo_emit("{el:%s}", "ipv6only");
- }
-#endif
+
xo_close_list("flags_pretty");
xo_emit(", flags={:flags/%s}", rflags);
diff --git a/usr.sbin/rtadvd/Makefile b/usr.sbin/rtadvd/Makefile
--- a/usr.sbin/rtadvd/Makefile
+++ b/usr.sbin/rtadvd/Makefile
@@ -20,11 +20,6 @@
SRCS= rtadvd.c rrenum.c advcap.c if.c config.c timer.c timer_subr.c \
control.c control_server.c
-.if ${MK_EXPERIMENTAL} != "no"
-CFLAGS+= -DEXPERIMENTAL
-CFLAGS+= -DDRAFT_IETF_6MAN_IPV6ONLY_FLAG
-.endif
-
LIBADD= util
WARNS?= 1
diff --git a/usr.sbin/rtadvd/config.c b/usr.sbin/rtadvd/config.c
--- a/usr.sbin/rtadvd/config.c
+++ b/usr.sbin/rtadvd/config.c
@@ -442,10 +442,6 @@
}
val |= ND_RA_FLAG_RTPREF_LOW;
}
-#ifdef DRAFT_IETF_6MAN_IPV6ONLY_FLAG
- if (strchr(flagstr, 'S'))
- val |= ND_RA_FLAG_IPV6_ONLY;
-#endif
} else
MAYHAVE(val, "raflags", 0);
@@ -461,9 +457,6 @@
__func__, rai->rai_rtpref, ifi->ifi_ifname);
goto getconfig_free_rai;
}
-#ifdef DRAFT_IETF_6MAN_IPV6ONLY_FLAG
- rai->rai_ipv6onlyflg = val & ND_RA_FLAG_IPV6_ONLY;
-#endif
MAYHAVE(val, "rltime", rai->rai_maxinterval * 3);
if ((uint16_t)val && ((uint16_t)val < rai->rai_maxinterval ||
@@ -1485,10 +1478,6 @@
rai->rai_managedflg ? ND_RA_FLAG_MANAGED : 0;
ra->nd_ra_flags_reserved |=
rai->rai_otherflg ? ND_RA_FLAG_OTHER : 0;
-#ifdef DRAFT_IETF_6MAN_IPV6ONLY_FLAG
- ra->nd_ra_flags_reserved |=
- rai->rai_ipv6onlyflg ? ND_RA_FLAG_IPV6_ONLY : 0;
-#endif
ra->nd_ra_router_lifetime = htons(rai->rai_lifetime);
ra->nd_ra_reachable = htonl(rai->rai_reachabletime);
ra->nd_ra_retransmit = htonl(rai->rai_retranstimer);
diff --git a/usr.sbin/rtadvd/rtadvd.h b/usr.sbin/rtadvd/rtadvd.h
--- a/usr.sbin/rtadvd/rtadvd.h
+++ b/usr.sbin/rtadvd/rtadvd.h
@@ -204,9 +204,6 @@
uint16_t rai_mininterval; /* MinRtrAdvInterval */
int rai_managedflg; /* AdvManagedFlag */
int rai_otherflg; /* AdvOtherConfigFlag */
-#ifdef DRAFT_IETF_6MAN_IPV6ONLY_FLAG
- int rai_ipv6onlyflg; /* AdvIPv6OnlyFlag */
-#endif
int rai_rtpref; /* router preference */
uint32_t rai_linkmtu; /* AdvLinkMTU */
diff --git a/usr.sbin/rtadvd/rtadvd.c b/usr.sbin/rtadvd/rtadvd.c
--- a/usr.sbin/rtadvd/rtadvd.c
+++ b/usr.sbin/rtadvd/rtadvd.c
@@ -1148,19 +1148,6 @@
sizeof(ntopbuf)), on_off[rai->rai_otherflg]);
inconsistent++;
}
-#ifdef DRAFT_IETF_6MAN_IPV6ONLY_FLAG
- /* S "IPv6-Only" (Six, Silence-IPv4) flag */
- if ((nra->nd_ra_flags_reserved & ND_RA_FLAG_IPV6_ONLY) !=
- rai->rai_ipv6onlyflg) {
- syslog(LOG_NOTICE,
- "S flag inconsistent on %s:"
- " %s from %s, %s from us",
- ifi->ifi_ifname, on_off[!rai->rai_ipv6onlyflg],
- inet_ntop(AF_INET6, &from->sin6_addr, ntopbuf,
- sizeof(ntopbuf)), on_off[rai->rai_ipv6onlyflg]);
- inconsistent++;
- }
-#endif
/* Reachable Time */
reachabletime = ntohl(nra->nd_ra_reachable);
if (reachabletime && rai->rai_reachabletime &&
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Apr 17, 8:59 AM (17 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31650654
Default Alt Text
D56228.id175231.diff (61 KB)
Attached To
Mode
D56228: nd6: Remove DRAFT_IETF_6MAN_IPV6ONLY_FLAG and EXPERIMENTAL options
Attached
Detach File
Event Timeline
Log In to Comment