diff --git a/doc/configuration.txt b/doc/configuration.txt index e400ad4b7..5ff19f926 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -1955,10 +1955,6 @@ The following keywords are supported in the "global" section : - tune.quic.be.stream.rxbuf - tune.quic.be.tx.pacing - tune.quic.be.tx.udp-gso - - tune.quic.cc.cubic.min-losses (deprecated) - - tune.quic.cc-hystart (deprecated) - - tune.quic.disable-tx-pacing (deprecated) - - tune.quic.disable-udp-gso (deprecated) - tune.quic.fe.cc.cubic-min-losses - tune.quic.fe.cc.hystart - tune.quic.fe.cc.max-frame-loss @@ -1974,18 +1970,8 @@ The following keywords are supported in the "global" section : - tune.quic.fe.stream.rxbuf - tune.quic.fe.tx.pacing - tune.quic.fe.tx.udp-gso - - tune.quic.frontend.max-data-size (deprecated) - - tune.quic.frontend.max-idle-timeout (deprecated) - - tune.quic.frontend.max-streams-bidi (deprecated) - - tune.quic.frontend.max-tx-mem (deprecated) - - tune.quic.frontend.stream-data-ratio (deprecated) - - tune.quic.frontend.default-max-window-size (deprecated) - tune.quic.listen - - tune.quic.max-frame-loss (deprecated) - tune.quic.mem.tx-max - - tune.quic.reorder-ratio (deprecated) - - tune.quic.retry-threshold (deprecated) - - tune.quic.socket-owner (deprecated) - tune.quic.zero-copy-fwd-send - tune.renice.runtime - tune.renice.startup @@ -5142,22 +5128,12 @@ tune.quic.fe.cc.cubic-min-losses compare some metrics. Never go beyond 2 without an expert's prior analysis of the situation. The default and minimum value is 1. Always use 1. -tune.quic.cc.cubic.min-losses (deprecated) - This keyword has been deprecated in 3.3 and will be removed in 3.5. It is - part of the streamlining process apply on QUIC configuration. If used, this - setting will only be applied on frontend connections. - tune.quic.be.cc.hystart { on | off } tune.quic.fe.cc.hystart { on | off } Enables ('on') or disabled ('off') the HyStart++ (RFC 9406) algorithm for QUIC connections used as a replacement for the slow start phase of congestion control algorithms which may cause high packet loss. It is disabled by default. -tune.quic.cc-hystart { on | off } (deprecated) - This keyword has been deprecated in 3.3 and will be removed in 3.5. It is - part of the streamlining process apply on QUIC configuration. If used, this - setting will only be applied on frontend connections. - tune.quic.be.cc.max-frame-loss tune.quic.fe.cc.max-frame-loss Sets the limit for which a single QUIC frame can be marked as lost. If @@ -5165,11 +5141,6 @@ tune.quic.fe.cc.max-frame-loss The default value is 10. -tune.quic.max-frame-loss (deprecated) - This keyword has been deprecated in 3.3 and will be removed in 3.5. It is - part of the streamlining process apply on QUIC configuration. If used, this - setting will only be applied on frontend connections. - tune.quic.be.cc.max-win-size tune.quic.fe.cc.max-win-size Sets the default maximum window size for the congestion controller of a @@ -5185,11 +5156,6 @@ tune.quic.fe.cc.max-win-size See also the "quic-cc-algo" bind and server options. -tune.quic.frontend.default-max-window-size (deprecated) - This keyword has been deprecated in 3.3 and will be removed in 3.5. It is - part of the streamlining process apply on QUIC configuration. If used, this - setting will only be applied on frontend connections. - tune.quic.be.cc.reorder-ratio <0..100, in percent> tune.quic.fe.cc.reorder-ratio <0..100, in percent> The ratio applied to the packet reordering threshold calculated. It may @@ -5197,11 +5163,6 @@ tune.quic.fe.cc.reorder-ratio <0..100, in percent> The default value is 50. -tune.quic.reorder-ratio <0..100, in percent> (deprecated) - This keyword has been deprecated in 3.3 and will be removed in 3.5. It is - part of the streamlining process apply on QUIC configuration. If used, this - setting will only be applied on frontend connections. - tune.quic.be.max-idle-timeout tune.quic.fe.max-idle-timeout Sets the QUIC max_idle_timeout transport parameters on either frontend or @@ -5215,11 +5176,6 @@ tune.quic.fe.max-idle-timeout The default value is 30s. -tune.quic.frontend.max-idle-timeout (deprecated) - This keyword has been deprecated in 3.3 and will be removed in 3.5. It is - part of the streamlining process apply on QUIC configuration. If used, this - setting will only be applied on frontend connections. - tune.quic.be.sec.glitches-threshold tune.quic.fe.sec.glitches-threshold Sets the threshold for the number of glitches per connection either on @@ -5235,11 +5191,6 @@ tune.quic.fe.sec.glitches-threshold See also: fc_glitches, tune.glitches.kill.cpu-usage -tune.quic.frontend.glitches-threshold (deprecated) - This keyword has been deprecated in 3.3 and will be removed in 3.5. It is - part of the streamlining process apply on QUIC configuration. If used, this - setting will only be applied on frontend connections. - tune.quic.fe.sec.retry-threshold Dynamically enables the Retry feature for all the configured QUIC listeners as soon as this number of half open connections is reached. A half open @@ -5254,11 +5205,6 @@ tune.quic.fe.sec.retry-threshold See https://www.rfc-editor.org/rfc/rfc9000.html#section-8.1.2 for more information about QUIC retry. -tune.quic.retry-threshold (deprecated) - This keyword has been deprecated in 3.3 and will be removed in 3.5. It is - part of the streamlining process apply on QUIC configuration. If used, this - setting will only be applied on frontend connections. - tune.quic.fe.sock-per-conn { default-on | force-off } Specifies globally how QUIC frontend connections will use socket for receive/send operations. Connections can share listener socket or each @@ -5288,12 +5234,6 @@ tune.quic.fe.sock-per-conn { default-on | force-off } "force-off" is used globally, it will be applied on every listener instance, regardless of their individual configuration. -tune.quic.socket-owner { connection | listener } (deprecated) - This keyword has been deprecated in 3.3 and will be removed in 3.5. It is - part of the streamlining process apply on QUIC configuration. The newer - option is named "tune.quic.fe.sock-per-conn", with legacy value "connection" - corresponding to "default-on" and "listener" to "force-off". - tune.quic.be.stream.data-ratio <0..100, in percent> tune.quic.fe.stream.data-ratio <0..100, in percent> This setting allows to configure the hard limit of the number of data bytes @@ -5314,11 +5254,6 @@ tune.quic.fe.stream.data-ratio <0..100, in percent> "tune.quic.be.stream.max-concurrent", "tune.quic.fe.stream.max-concurrent" -tune.quic.frontend.stream-data-ratio <0..100, in percent> (deprecated) - This keyword has been deprecated in 3.3 and will be removed in 3.5. It is - part of the streamlining process apply on QUIC configuration. If used, this - setting will only be applied on frontend connections. - tune.quic.be.stream.max-concurrent tune.quic.fe.stream.max-concurrent On frontend side, this is used as the value for the advertised @@ -5362,11 +5297,6 @@ tune.quic.fe.stream.max-total The default value is 0 which implies no specific limit outside of the QUIC protocol encoding limitation (2^60, more than a billion billion). -tune.quic.frontend.max-streams-bidi (deprecated) - This keyword has been deprecated in 3.3 and will be removed in 3.5. It is - part of the streamlining process apply on QUIC configuration. If used, this - setting will only be applied on frontend connections. - tune.quic.be.stream.rxbuf tune.quic.fe.stream.rxbuf This setting is the hard limit for the number of data bytes in flight over a @@ -5384,11 +5314,6 @@ tune.quic.fe.stream.rxbuf "tune.quic.fe.stream.max-concurrent", "tune.quic.be.stream.data-ratio", "tune.quic.fe.stream.data-ratio" -tune.quic.frontend.max-data-size (deprecated) - This keyword has been deprecated in 3.3 and will be removed in 3.5. It is - part of the streamlining process apply on QUIC configuration. If used, this - setting will only be applied on frontend connections. - tune.quic.be.tx.pacing { on | off } tune.quic.fe.tx.pacing { on | off } Enables ('on') or disables ('off') pacing support for QUIC emission. By @@ -5400,11 +5325,6 @@ tune.quic.fe.tx.pacing { on | off } See also the "quic-cc-algo" bind and server options. -tune.quic.disable-tx-pacing (deprecated) - This keyword has been deprecated in 3.3 and will be removed in 3.5. It is - part of the streamlining process apply on QUIC configuration. If used, this - setting will only be applied on frontend connections. - tune.quic.be.tx.udp-gso { on | off } tune.quic.fe.tx.udp-gso { on | off } Enables ('on') or disables ('off') UDP GSO support for QUIC emission. By @@ -5413,11 +5333,6 @@ tune.quic.fe.tx.udp-gso { on | off } be useful to disable it on developers suggestion when suspecting an issue on emission. -tune.quic.disable-udp-gso (deprecated) - This keyword has been deprecated in 3.3 and will be removed in 3.5. It is - part of the streamlining process apply on QUIC configuration. If used, this - setting will only be applied on frontend connections. - tune.quic.listen { on | off } Disable QUIC transport protocol on the frontend side. All the QUIC listeners will still be created, but they won't listen for incoming datagrams. Hence, @@ -5437,11 +5352,6 @@ tune.quic.mem.tx-max connection will always be able to use a window of at least 2 datagrams, so a proper maxconn should be used in conjunction. -tune.quic.frontend.max-tx-mem (deprecated) - This keyword has been deprecated in 3.3 and will be removed in 3.5. It is - part of the streamlining process apply on QUIC configuration. If used, this - setting will only be applied on frontend connections. - tune.quic.zero-copy-fwd-send { on | off } Enables ('on') of disabled ('off') the zero-copy sends of data for the QUIC multiplexer. It is enabled by default. diff --git a/src/cfgparse-quic.c b/src/cfgparse-quic.c index f06a4847d..7b9da28c7 100644 --- a/src/cfgparse-quic.c +++ b/src/cfgparse-quic.c @@ -292,33 +292,6 @@ static int cfg_parse_quic_tune_sock_per_conn(char **args, int section_type, return 0; } -/* parse "tune.quic.socket-owner", accepts "listener" or "connection" */ -static int cfg_parse_quic_tune_socket_owner(char **args, int section_type, - struct proxy *curpx, - const struct proxy *defpx, - const char *file, int line, char **err) -{ - if (too_many_args(1, args, err, NULL)) - return -1; - - memprintf(err, "'%s' is deprecated in 3.3 and will be removed in 3.5. " - "Please use the newer keyword syntax 'tune.quic.fe.sock-per-conn'.", args[0]); - - if (strcmp(args[1], "connection") == 0) { - quic_tune.fe.opts |= QUIC_TUNE_FE_SOCK_PER_CONN; - } - else if (strcmp(args[1], "listener") == 0) { - quic_tune.fe.opts &= ~QUIC_TUNE_FE_SOCK_PER_CONN; - } - else { - memprintf(err, "'%s' expects either 'listener' or 'connection' but got '%s'.", args[0], args[1]); - return -1; - } - - /* Returns 1 to ensure deprecated warning is displayed. */ - return 1; -} - /* Must be used to parse tune.quic.* setting which requires a time * as value. * Return -1 on alert, or 0 if succeeded. @@ -362,13 +335,6 @@ static int cfg_parse_quic_time(char **args, int section_type, &quic_tune.fe.max_idle_timeout; *ptr = time; } - /* legacy options */ - else if (strcmp(name + prefix_len, "frontend.max-idle-timeout") == 0) { - memprintf(err, "'%s' is deprecated in 3.3 and will be removed in 3.5. " - "Please use the newer keyword syntax 'tune.quic.fe.max-idle-timeout'.", args[0]); - quic_tune.fe.max_idle_timeout = time; - ret = 1; - } else { memprintf(err, "'%s' keyword not handled (please report this bug).", args[0]); ret = -1; @@ -489,105 +455,6 @@ static int cfg_parse_quic_tune_setting(char **args, int section_type, *ptr = arg; } - - /* legacy options */ - else if (strcmp(suffix, "cc.cubic.min-losses") == 0) { - memprintf(err, "'%s' is deprecated in 3.3 and will be removed in 3.5. " - "Please use the newer keyword syntax 'tune.quic.fe.cc.cubic-min-losses'.", args[0]); - quic_tune.fe.cc_cubic_min_losses = arg - 1; - ret = 1; - } - else if (strcmp(suffix, "frontend.default-max-window-size") == 0) { - unsigned long cwnd; - char *end_opt; - - memprintf(err, "'%s' is deprecated in 3.3 and will be removed in 3.5. " - "Please use the newer keyword syntax 'tune.quic.fe.cc.max-win-size'.", args[0]); - - cwnd = parse_window_size(args[0], args[1], &end_opt, err); - if (!cwnd) - return -1; - if (*end_opt != '\0') { - memprintf(err, "'%s' : expects an integer value with an optional suffix 'k', 'm' or 'g'", args[0]); - return -1; - } - - quic_tune.fe.cc_max_win_size = cwnd; - ret = 1; - } - else if (strcmp(suffix, "frontend.glitches-threshold") == 0) { - memprintf(err, "'%s' is deprecated in 3.3 and will be removed in 3.5. " - "Please use the newer keyword syntax 'tune.quic.fe.sec.glitches-threshold'.", args[0]); - quic_tune.fe.sec_glitches_threshold = arg; - ret = 1; - } - else if (strcmp(suffix, "frontend.max-data-size") == 0) { - memprintf(err, "'%s' is deprecated in 3.3 and will be removed in 3.5. " - "Please use the newer keyword syntax 'tune.quic.fe.stream.rxbuf'.", args[0]); - if ((errptr = parse_size_err(args[1], &arg))) { - memprintf(err, "'%s': unexpected character '%c' in size argument '%s'.", - args[0], *errptr, args[1]); - return -1; - } - - quic_tune.fe.stream_rxbuf = arg; - ret = 1; - } - else if (strcmp(suffix, "frontend.max-streams-bidi") == 0) { - memprintf(err, "'%s' is deprecated in 3.3 and will be removed in 3.5. " - "Please use the newer keyword syntax 'tune.quic.fe.stream.max-concurrent'.", args[0]); - quic_tune.fe.stream_max_concurrent = arg; - ret = 1; - } - else if (strcmp(suffix, "frontend.max-tx-mem") == 0) { - ullong max_mem; - - memprintf(err, "'%s' is deprecated in 3.3 and will be removed in 3.5. " - "Please use the newer keyword syntax 'tune.quic.mem.tx-max'.", args[0]); - - if ((errptr = parse_size_err(args[1], &max_mem))) { - memprintf(err, "'%s': unexpected character '%c' in size argument '%s'.", - args[0], *errptr, args[1]); - return -1; - } - - quic_tune.mem_tx_max = max_mem; - ret = 1; - } - else if (strcmp(suffix, "frontend.stream-data-ratio") == 0) { - memprintf(err, "'%s' is deprecated in 3.3 and will be removed in 3.5. " - "Please use the newer keyword syntax 'tune.quic.fe.stream.data-ratio'.", args[0]); - - if (arg < 1 || arg > 100) { - memprintf(err, "'%s' expects an integer argument between 1 and 100.", args[0]); - return -1; - } - quic_tune.fe.stream_data_ratio = arg; - ret = 1; - } - else if (strcmp(suffix, "max-frame-loss") == 0) { - memprintf(err, "'%s' is deprecated in 3.3 and will be removed in 3.5. " - "Please use the newer keyword syntax 'tune.quic.fe.cc.max-frame-loss'.", args[0]); - quic_tune.fe.cc_max_frame_loss = arg; - ret = 1; - } - else if (strcmp(suffix, "reorder-ratio") == 0) { - memprintf(err, "'%s' is deprecated in 3.3 and will be removed in 3.5. " - "Please use the newer keyword syntax 'tune.quic.fe.cc.reorder-ratio'.", args[0]); - if (arg > 100) { - memprintf(err, "'%s' expects an integer argument between 0 and 100.", args[0]); - return -1; - } - - quic_tune.fe.cc_reorder_ratio = arg; - ret = 1; - } - else if (strcmp(suffix, "retry-threshold") == 0) { - memprintf(err, "'%s' is deprecated in 3.3 and will be removed in 3.5. " - "Please use the newer keyword syntax 'tune.quic.fe.sec.retry-threshold'.", args[0]); - quic_tune.fe.sec_retry_threshold = arg; - ret = 1; - } else { memprintf(err, "'%s' keyword not handled (please report this bug).", args[0]); return -1; @@ -596,39 +463,6 @@ static int cfg_parse_quic_tune_setting(char **args, int section_type, return ret; } -static int cfg_parse_quic_tune_setting0(char **args, int section_type, - struct proxy *curpx, - const struct proxy *defpx, - const char *file, int line, char **err) -{ - int ret = 0; - int prefix_len = strlen("tune.quic."); - const char *suffix; - - if (too_many_args(0, args, err, NULL)) - return -1; - - suffix = args[0] + prefix_len; - if (strcmp(suffix, "disable-tx-pacing") == 0) { - memprintf(err, "'%s' is deprecated in 3.3 and will be removed in 3.5. " - "Please use the newer keyword syntax 'tune.quic.fe.tx.pacing'.", args[0]); - quic_tune.fe.fb_opts &= ~QUIC_TUNE_FB_TX_PACING; - ret = 1; - } - else if (strcmp(suffix, "disable-udp-gso") == 0) { - memprintf(err, "'%s' is deprecated in 3.3 and will be removed in 3.5. " - "Please use the newer keyword syntax 'tune.quic.fe.tx.udp-gso'.", args[0]); - quic_tune.fe.fb_opts &= ~QUIC_TUNE_FB_TX_UDP_GSO; - ret = 1; - } - else { - memprintf(err, "'%s' keyword unhandled (please report this bug).", args[0]); - return -1; - } - - return ret; -} - /* config parser for global "tune.quic.* {on|off}" */ static int cfg_parse_quic_tune_on_off(char **args, int section_type, struct proxy *curpx, const struct proxy *defpx, const char *file, int line, @@ -691,15 +525,6 @@ static int cfg_parse_quic_tune_on_off(char **args, int section_type, struct prox else *ptr &= ~QUIC_TUNE_FB_TX_UDP_GSO; } - else if (strcmp(suffix, "cc-hystart") == 0) { - memprintf(err, "'%s' is deprecated in 3.3 and will be removed in 3.5. " - "Please use the newer keyword syntax 'tune.quic.fe.cc.hystart'.", args[0]); - if (on) - quic_tune.fe.fb_opts |= QUIC_TUNE_FB_CC_HYSTART; - else - quic_tune.fe.fb_opts &= ~QUIC_TUNE_FB_CC_HYSTART; - ret = 1; - } return ret; } @@ -738,23 +563,6 @@ static struct cfg_kw_list cfg_kws = {ILH, { { CFG_GLOBAL, "tune.quic.be.tx.pacing", cfg_parse_quic_tune_on_off }, { CFG_GLOBAL, "tune.quic.be.tx.udp-gso", cfg_parse_quic_tune_on_off }, - /* legacy options */ - { CFG_GLOBAL, "tune.quic.cc-hystart", cfg_parse_quic_tune_on_off }, - { CFG_GLOBAL, "tune.quic.cc.cubic.min-losses", cfg_parse_quic_tune_setting }, - { CFG_GLOBAL, "tune.quic.disable-tx-pacing", cfg_parse_quic_tune_setting0 }, - { CFG_GLOBAL, "tune.quic.disable-udp-gso", cfg_parse_quic_tune_setting0 }, - { CFG_GLOBAL, "tune.quic.frontend.default-max-window-size", cfg_parse_quic_tune_setting }, - { CFG_GLOBAL, "tune.quic.frontend.glitches-threshold", cfg_parse_quic_tune_setting }, - { CFG_GLOBAL, "tune.quic.frontend.max-data-size", cfg_parse_quic_tune_setting }, - { CFG_GLOBAL, "tune.quic.frontend.max-idle-timeout", cfg_parse_quic_time }, - { CFG_GLOBAL, "tune.quic.frontend.max-streams-bidi", cfg_parse_quic_tune_setting }, - { CFG_GLOBAL, "tune.quic.frontend.max-tx-mem", cfg_parse_quic_tune_setting }, - { CFG_GLOBAL, "tune.quic.frontend.stream-data-ratio", cfg_parse_quic_tune_setting }, - { CFG_GLOBAL, "tune.quic.max-frame-loss", cfg_parse_quic_tune_setting }, - { CFG_GLOBAL, "tune.quic.reorder-ratio", cfg_parse_quic_tune_setting }, - { CFG_GLOBAL, "tune.quic.retry-threshold", cfg_parse_quic_tune_setting }, - { CFG_GLOBAL, "tune.quic.socket-owner", cfg_parse_quic_tune_socket_owner }, - { 0, NULL, NULL } }};