]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: server: add dns hint in server_inetaddr_updater struct
authorAurelien DARRAGON <adarragon@haproxy.com>
Tue, 12 Dec 2023 10:00:10 +0000 (11:00 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Thu, 21 Dec 2023 13:22:27 +0000 (14:22 +0100)
This will allow event consumers to know if the update was triggered dns/
resolver stuff by checking the ->dns boolean.

include/haproxy/server-t.h

index e2233a4a0de8fc84d2ce8a5cfb6fc0779950838e..fbe73315431105dd142d42d4eb2bbe646b79c50d 100644 (file)
@@ -628,6 +628,7 @@ enum server_inetaddr_updater_by {
 };
 struct server_inetaddr_updater {
        enum server_inetaddr_updater_by by; // by identifier (unique)
+       uint8_t dns;                        // is dns involved?
        union {
                struct {
                        unsigned int ns_id; // nameserver id responsible for the update
@@ -635,23 +636,29 @@ struct server_inetaddr_updater {
        };                                  // per updater's additional ctx
 };
 #define SERVER_INETADDR_UPDATER_NONE                                           \
- (struct server_inetaddr_updater){ .by = SERVER_INETADDR_UPDATER_BY_NONE }
+ (struct server_inetaddr_updater){ .by = SERVER_INETADDR_UPDATER_BY_NONE,      \
+                                   .dns = 0 }
 
 #define SERVER_INETADDR_UPDATER_CLI                                            \
- (struct server_inetaddr_updater){ .by = SERVER_INETADDR_UPDATER_BY_CLI }
+ (struct server_inetaddr_updater){ .by = SERVER_INETADDR_UPDATER_BY_CLI,       \
+                                   .dns = 0 }
 
 #define SERVER_INETADDR_UPDATER_LUA                                            \
- (struct server_inetaddr_updater){ .by = SERVER_INETADDR_UPDATER_BY_LUA }
+ (struct server_inetaddr_updater){ .by = SERVER_INETADDR_UPDATER_BY_LUA,       \
+                                   .dns = 0 }
 
 #define SERVER_INETADDR_UPDATER_DNS_AR                                         \
- (struct server_inetaddr_updater){ .by = SERVER_INETADDR_UPDATER_BY_DNS_AR }
+ (struct server_inetaddr_updater){ .by = SERVER_INETADDR_UPDATER_BY_DNS_AR,    \
+                                   .dns = 1 }
 
 #define SERVER_INETADDR_UPDATER_DNS_CACHE                                      \
- (struct server_inetaddr_updater){ .by = SERVER_INETADDR_UPDATER_BY_DNS_CACHE }
+ (struct server_inetaddr_updater){ .by = SERVER_INETADDR_UPDATER_BY_DNS_CACHE, \
+                                   .dns = 1 }
 
 #define SERVER_INETADDR_UPDATER_DNS_RESOLVER(_ns_id)                           \
  (struct server_inetaddr_updater){                                             \
     .by = SERVER_INETADDR_UPDATER_BY_DNS_RESOLVER,                             \
+    .dns = 1,                                                                  \
     .dns_resolver.ns_id = _ns_id,                                              \
  }