From d3881e61ac7e6a774b4b1a68585c2b113e40a9f0 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 17 Oct 2025 18:55:03 +0200 Subject: [PATCH] MINOR: config: remove experimental status on tune.disable-fast-forward The option was turned to off by default in 2.8 with commit 2f7c82bfd ("BUG/MINOR: haproxy: Fix option to disable the fast-forward"), however at the same time it should have dropped its experimental status since the feature is enabled by default. The only goal of the option is to debug something, like many other tune.xxx options. The option should still normally not be used without being invited to do so by developers looking for something specific though. This could be backported if desired to simplify debugging, though this has never been needed for now. --- doc/configuration.txt | 6 ++---- src/cfgparse-global.c | 6 ------ 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/doc/configuration.txt b/doc/configuration.txt index 8aec5faae..2d169fd27 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -3996,16 +3996,14 @@ tune.comp.maxlevel Each stream using compression initializes the compression algorithm with this value. The default value is 1. -tune.disable-fast-forward [ EXPERIMENTAL ] +tune.disable-fast-forward Disables the data fast-forwarding. It is a mechanism to optimize the data forwarding by passing data directly from a side to the other one without waking the stream up. Thanks to this directive, it is possible to disable this optimization. Note it also disable any kernel tcp splicing but also the zero-copy forwarding. This command is not meant for regular use, it will generally only be suggested by developers along complex debugging - sessions. For this reason it is internally marked as experimental, meaning - that "expose-experimental-directives" must appear on a line before this - directive. + sessions. tune.disable-zero-copy-forwarding Globally disables the zero-copy forwarding of data. It is a mechanism to diff --git a/src/cfgparse-global.c b/src/cfgparse-global.c index b5a756d7a..79005384c 100644 --- a/src/cfgparse-global.c +++ b/src/cfgparse-global.c @@ -1473,12 +1473,6 @@ static int cfg_parse_global_tune_forward_opts(char **args, int section_type, return -1; if (strcmp(args[0], "tune.disable-fast-forward") == 0) { - if (!experimental_directives_allowed) { - memprintf(err, "'%s' directive is experimental, must be allowed via a global 'expose-experimental-directives'", - args[0]); - return -1; - } - mark_tainted(TAINTED_CONFIG_EXP_KW_DECLARED); global.tune.options &= ~GTUNE_USE_FAST_FWD; } else if (strcmp(args[0], "tune.disable-zero-copy-forwarding") == 0) {