]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: cli: make "show fd" also report the xprt and xprt_ctx
authorWilly Tarreau <w@1wt.eu>
Wed, 20 Jan 2021 13:40:04 +0000 (14:40 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 20 Jan 2021 16:17:39 +0000 (17:17 +0100)
These ones are definitely missing from some dumps, let's report them! We
print the xprt's name instead of its useless pointer, as well as its ctx
when xprt is not NULL.

src/cli.c

index 03f175763b98ee396f1b92732ac5708c3373ad1d..b7378019d2344e794d6c5dcb31c4c71f2ae3dacf 100644 (file)
--- a/src/cli.c
+++ b/src/cli.c
@@ -1032,7 +1032,9 @@ static int cli_io_handler_show_fd(struct appctx *appctx)
                const struct proxy *px = NULL;
                const struct connection *conn = NULL;
                const struct mux_ops *mux = NULL;
+               const struct xprt_ops *xprt = NULL;
                const void *ctx = NULL;
+               const void *xprt_ctx = NULL;
                uint32_t conn_flags = 0;
                int is_back = 0;
 
@@ -1052,6 +1054,8 @@ static int cli_io_handler_show_fd(struct appctx *appctx)
                        conn_flags = conn->flags;
                        mux        = conn->mux;
                        ctx        = conn->ctx;
+                       xprt       = conn->xprt;
+                       xprt_ctx   = conn->xprt_ctx;
                        li         = objt_listener(conn->target);
                        sv         = objt_server(conn->target);
                        px         = objt_proxy(conn->target);
@@ -1100,6 +1104,10 @@ static int cli_io_handler_show_fd(struct appctx *appctx)
                        }
                        else
                                chunk_appendf(&trash, " nomux");
+
+                       chunk_appendf(&trash, " xprt=%s", xprt ? xprt->name : "");
+                       if (xprt)
+                               chunk_appendf(&trash, " xprt_ctx=%p", xprt_ctx);
                }
                else if (fdt.iocb == sock_accept_iocb) {
                        chunk_appendf(&trash, ") l.st=%s fe=%s",