From 85ac6a6f7bbcf6668934cba1b8c2afee5b9aae7e Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 5 Sep 2025 09:44:56 +0200 Subject: [PATCH] BUILD: makefile: bump the default minimum linux version to 4.17 As explained during the 3.3-dev7 announcement below: https://www.mail-archive.com/haproxy@formilux.org/msg46073.html no regularly maintained distro supports a kernel older than 4.18 anymore, and KTLS is supported since 4.17. So it's about the right moment to bump the default minimum kernel version supported by glibc and musl to automatically cover new features. The linux-glibc-legacy target still supports 2.6.28 and above. --- INSTALL | 4 ++-- Makefile | 8 ++++---- doc/configuration.txt | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/INSTALL b/INSTALL index 533248fd4..1c88ab5b2 100644 --- a/INSTALL +++ b/INSTALL @@ -559,9 +559,9 @@ It goes into more details with the main options. To build haproxy, you have to choose your target OS amongst the following ones and assign it to the TARGET variable : - - linux-glibc for Linux kernel 2.6.28 and above + - linux-glibc for Linux kernel 4.17 and above - linux-glibc-legacy for Linux kernel 2.6.28 and above without new features - - linux-musl for Linux kernel 2.6.28 and above with musl libc + - linux-musl for Linux kernel 4.17 and above with musl libc - solaris for Solaris 10 and above - freebsd for FreeBSD 10 and above - dragonfly for DragonFlyBSD 4.3 and above diff --git a/Makefile b/Makefile index 4eb16e0bc..63df314ef 100644 --- a/Makefile +++ b/Makefile @@ -379,13 +379,13 @@ ifeq ($(TARGET),haiku) set_target_defaults = $(call default_opts,USE_POLL USE_TPROXY USE_OBSOLETE_LINKER) endif -# For linux >= 2.6.28 and glibc +# For linux >= 4.17 and glibc ifeq ($(TARGET),linux-glibc) set_target_defaults = $(call default_opts, \ USE_POLL USE_TPROXY USE_LIBCRYPT USE_DL USE_RT USE_CRYPT_H USE_NETFILTER \ USE_CPU_AFFINITY USE_THREAD USE_EPOLL USE_LINUX_TPROXY USE_LINUX_CAP \ USE_ACCEPT4 USE_LINUX_SPLICE USE_PRCTL USE_THREAD_DUMP USE_NS USE_TFO \ - USE_GETADDRINFO USE_BACKTRACE USE_SHM_OPEN) + USE_GETADDRINFO USE_BACKTRACE USE_SHM_OPEN USE_KTLS) INSTALL = install -v endif @@ -398,13 +398,13 @@ ifeq ($(TARGET),linux-glibc-legacy) INSTALL = install -v endif -# For linux >= 2.6.28 and musl +# For linux >= 4.17 and musl ifeq ($(TARGET),linux-musl) set_target_defaults = $(call default_opts, \ USE_POLL USE_TPROXY USE_LIBCRYPT USE_DL USE_RT USE_CRYPT_H USE_NETFILTER \ USE_CPU_AFFINITY USE_THREAD USE_EPOLL USE_LINUX_TPROXY USE_LINUX_CAP \ USE_ACCEPT4 USE_LINUX_SPLICE USE_PRCTL USE_THREAD_DUMP USE_NS USE_TFO \ - USE_GETADDRINFO USE_BACKTRACE USE_SHM_OPEN) + USE_GETADDRINFO USE_BACKTRACE USE_SHM_OPEN USE_KTLS) INSTALL = install -v endif diff --git a/doc/configuration.txt b/doc/configuration.txt index bc775b0cc..413d07cf4 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -16801,8 +16801,8 @@ interface ktls [ EXPERIMENTAL ] Enables or disables ktls for those sockets. If enabled, kTLS will be used - if the kernel supports it and the cipher is compatible. - This is only available on linux. + if the kernel supports it and the cipher is compatible. This is only + available on Linux kernel 4.17 and above. label