]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: ssl: Add traces to ssl_sock_io_cb function
authorRemi Tricot-Le Breton <rlebreton@haproxy.com>
Fri, 18 Apr 2025 15:26:52 +0000 (17:26 +0200)
committerWilliam Lallemand <wlallemand@haproxy.com>
Wed, 30 Apr 2025 09:11:26 +0000 (11:11 +0200)
Add new SSL traces.

include/haproxy/ssl_trace-t.h
src/ssl_sock.c
src/ssl_trace.c

index 4575fda82aa1f38a9b979d076d967d31d3b58cdb..8652ff4d44f8deb61da38f4cc94ad829eb38870b 100644 (file)
@@ -26,6 +26,7 @@ extern struct trace_source trace_ssl;
 #define SSL_EV_CONN_SEND_EARLY     (1ULL <<  5)
 #define SSL_EV_CONN_RECV           (1ULL <<  6)
 #define SSL_EV_CONN_RECV_EARLY     (1ULL <<  7)
+#define SSL_EV_CONN_IO_CB          (1ULL <<  8)
 
 #define TRACE_SOURCE &trace_ssl
 
index 326a5d7395a8fa974b599e0676ee45d6c9c1f649..77fbc405543ff22e4548f588b8fd4007f8be7976 100644 (file)
@@ -5720,6 +5720,8 @@ struct task *ssl_sock_io_cb(struct task *t, void *context, unsigned int state)
        int conn_in_list;
        int ret = 0;
 
+       TRACE_ENTER(SSL_EV_CONN_IO_CB, ctx->conn);
+
        if (state & TASK_F_USR1) {
                /* the tasklet was idling on an idle connection, it might have
                 * been stolen, let's be careful!
@@ -5792,10 +5794,12 @@ leave:
        if (!ret && conn_in_list) {
                struct server *srv = objt_server(conn->target);
 
+               TRACE_DEVEL("adding conn back to idle list", SSL_EV_CONN_IO_CB, conn);
                HA_SPIN_LOCK(IDLE_CONNS_LOCK, &idle_conns[tid].idle_conns_lock);
                _srv_add_idle(srv, conn, conn_in_list == CO_FL_SAFE_LIST);
                HA_SPIN_UNLOCK(IDLE_CONNS_LOCK, &idle_conns[tid].idle_conns_lock);
        }
+       TRACE_LEAVE(SSL_EV_CONN_IO_CB, conn);
        return t;
 }
 
index 49a4cb173e197e4bbafaf11274e4e5d3a0ad408b..3c00f73c6245a1fc3609c9e327a6e6a5e6993a75 100644 (file)
@@ -34,6 +34,7 @@ static const struct trace_event ssl_trace_events[] = {
        { .mask = SSL_EV_CONN_SEND_EARLY,     .name = "sslc_send_early",     .desc = "Tx on SSL connection (early data)" },
        { .mask = SSL_EV_CONN_RECV,           .name = "sslc_recv",           .desc = "Rx on SSL connection" },
        { .mask = SSL_EV_CONN_RECV_EARLY,     .name = "sslc_recv_early",     .desc = "Rx on SSL connection (early data)" },
+       { .mask = SSL_EV_CONN_IO_CB,          .name = "sslc_io_cb",          .desc = "SSL io callback"},
        { }
 };