MINOR: connection: Add function to get src/dst without updating the connection
conn_get_src() and conn_get_dst() functions are used to fill the source and
destination addresses of a connection. On success, ->src and ->dst
connection fields can be safely used.
For convenience, 2 new functions are added here: conn_src() and conn_dst().
These functions return the corresponding address, as a const and only if it
is already set. Otherwise NULL is returned.
diff --git a/include/haproxy/connection.h b/include/haproxy/connection.h
index a140aa7..bacf7ca 100644
--- a/include/haproxy/connection.h
+++ b/include/haproxy/connection.h
@@ -407,6 +407,22 @@
return cs ? cs->conn : NULL;
}
+/* Returns the source address of the connection or NULL if not set */
+static inline const struct sockaddr_storage *conn_src(struct connection *conn)
+{
+ if (conn->flags & CO_FL_ADDR_FROM_SET)
+ return conn->src;
+ return NULL;
+}
+
+/* Returns the destination address of the connection or NULL if not set */
+static inline const struct sockaddr_storage *conn_dst(struct connection *conn)
+{
+ if (conn->flags & CO_FL_ADDR_TO_SET)
+ return conn->dst;
+ return NULL;
+}
+
/* Retrieves the connection's original source address. Returns non-zero on
* success or zero on failure. The operation is only performed once and the
* address is stored in the connection for future use.