]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: proxy: add proxy_index_id() to index a proxy by its ID
authorWilly Tarreau <w@1wt.eu>
Sat, 23 Aug 2025 17:45:03 +0000 (19:45 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 16 Sep 2025 07:23:46 +0000 (09:23 +0200)
This avoids needlessly exposing the tree's root and the mechanics outside
of the low-level code.

include/haproxy/proxy.h
src/cfgparse-listen.c
src/cfgparse.c
src/cli.c

index 26e00d14156e8f63b4d49c478afbc6296b2bb1aa..98df4d1e692f0a5e1a136e01f4e6445ea981d632 100644 (file)
@@ -22,6 +22,8 @@
 #ifndef _HAPROXY_PROXY_H
 #define _HAPROXY_PROXY_H
 
+#include <import/eb32tree.h>
+
 #include <haproxy/api.h>
 #include <haproxy/applet-t.h>
 #include <haproxy/freq_ctr.h>
@@ -120,6 +122,12 @@ static inline struct proxy *proxy_be_by_name(const char *name)
        return proxy_find_by_name(name, PR_CAP_BE, 0);
 }
 
+/* index proxy <px>'s id into used_proxy_id */
+static inline void proxy_index_id(struct proxy *px)
+{
+       eb32_insert(&used_proxy_id, &px->conf.id);
+}
+
 /* this function initializes all timeouts for proxy p */
 static inline void proxy_reset_timeouts(struct proxy *proxy)
 {
index 748ab696d2336b35c76b88289db9183fd880834d..4cfd8630793ccf35a15e5d1f70850321cbeafbc0 100644 (file)
@@ -750,7 +750,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
-               eb32_insert(&used_proxy_id, &curproxy->conf.id);
+               proxy_index_id(curproxy);
        }
        else if (strcmp(args[0], "description") == 0) {
                int i, len=0;
index 3aef28aee22b28c8ee20156296eaf64b4b3229d7..26239b484851d1b692f9f5086074bee7bf1b9825 100644 (file)
@@ -2852,7 +2852,7 @@ init_proxies_list_stage1:
                         */
                        next_pxid = proxy_get_next_id(next_pxid);
                        curproxy->conf.id.key = curproxy->uuid = next_pxid;
-                       eb32_insert(&used_proxy_id, &curproxy->conf.id);
+                       proxy_index_id(curproxy);
                }
 
                if (curproxy->mode == PR_MODE_HTTP && global.tune.bufsize >= (256 << 20) && ONLY_ONCE()) {
index dd81c5e0e988ca6cc94798b35f8f0f60b3e682da..60f0119c5a874400fb7a1984e922fdd4c333b200 100644 (file)
--- a/src/cli.c
+++ b/src/cli.c
@@ -467,7 +467,7 @@ static struct proxy *cli_alloc_fe(const char *name, const char *file, int line)
 
        /* the stats frontend is the only one able to assign ID #0 */
        fe->conf.id.key = fe->uuid = 0;
-       eb32_insert(&used_proxy_id, &fe->conf.id);
+       proxy_index_id(fe);
        return fe;
 }