From dff98071888ae06dcec0a6c3a9222e76e893305d Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Thu, 14 Mar 2024 11:53:27 +0100 Subject: [PATCH] MAJOR: spoe: Deprecate the SPOE filter As announced on the ML few weeks (months ?) ago and on several GH issues, the SPOE is now deprecated. Sadly, this filter should be refactored to work properly. It was implemented as a functionnal PoC for the 1.7 and since then, no time was invest to improve it and make it truly maintainable in time. Worst, other parts of HAProxy evolve, especially applets part, making maintenance ever more expensive. Instead of keeping the SPOE filter in a this state and always reply to users encountering issues or limitations that it is far from perfect but we cannot work on it for now, we decided to deprecate it. We can still change our mind before the 3.0.0 release if the situation evolves. Otherwise the filter will be removed or marked as unmaintained for the 3.1. If the situation does not change, it means the 3.0 will be the last version with a true SPOE support. --- MAINTAINERS | 2 +- doc/SPOE.txt | 4 ++++ doc/configuration.txt | 6 ++++-- src/flt_spoe.c | 3 +++ 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index d4b7980ca4..cf8ad42cd5 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -138,7 +138,7 @@ ScientiaMobile WURFL Device Detection Maintainer: Paul Borile, Massimiliano Bellomi Files: addons/wurfl, doc/WURFL-device-detection.txt -SPOE +SPOE (deprecated) Maintainer: Christopher Faulet Files: src/flt_spoe.c, include/haproxy/spoe*.h, doc/SPOE.txt diff --git a/doc/SPOE.txt b/doc/SPOE.txt index cc6d8dd3d3..8d08d6f3d8 100644 --- a/doc/SPOE.txt +++ b/doc/SPOE.txt @@ -7,6 +7,10 @@ Contact : cfaulet at haproxy dot com + + WARNING: The SPOE is now deprecated and will be removed in future version. + + SUMMARY -------- diff --git a/doc/configuration.txt b/doc/configuration.txt index d3329f4d1c..34db076bb0 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -13863,7 +13863,7 @@ sc-inc-gpc0 X X X X X X X sc-inc-gpc1 X X X X X X X sc-set-gpt X X X X X X X sc-set-gpt0 X X X X X X X -send-spoe-group - - X X X X - +send-spoe-group (deprecated) - - X X X X - set-bandwidth-limit - - X X X X - set-bc-mark - - X - X - - set-bc-tos - - X - X - - @@ -14724,7 +14724,7 @@ sc-set-gpt0() { | } See also the "sc-set-gpt" action. -send-spoe-group +send-spoe-group (deprecated) Usable in: TCP RqCon| RqSes| RqCnt| RsCnt| HTTP Req| Res| Aft - | - | X | X | X | X | - @@ -26618,6 +26618,8 @@ the Stream Processing Offload Protocol (SPOP). For all information about the SPOE configuration and the SPOP specification, see "doc/SPOE.txt". +WARNING: The SPOE filter is now deprecated. + 9.4. Cache ---------- diff --git a/src/flt_spoe.c b/src/flt_spoe.c index 73d47247bf..5623fec00b 100644 --- a/src/flt_spoe.c +++ b/src/flt_spoe.c @@ -4105,6 +4105,9 @@ parse_spoe_flt(char **args, int *cur_arg, struct proxy *px, curpxopts = 0; curpxopts2 = 0; + + ha_warning("Proxy %s: SPOE filter is deprecated and will be removed in future version.\n", px->id); + conf = calloc(1, sizeof(*conf)); if (conf == NULL) { memprintf(err, "%s: out of memory", args[*cur_arg]);