MINOR: mux: add a "show_fd" function to dump debugging information for "show fd"

This function will be called from the CLI's "show fd" command to append some
extra mux-specific information that only the mux handler can decode. This is
supposed to help collect various hints about what is happening when facing
certain anomalies.
diff --git a/include/types/connection.h b/include/types/connection.h
index cea61f5..3dab54e 100644
--- a/include/types/connection.h
+++ b/include/types/connection.h
@@ -306,6 +306,7 @@
 
 	struct conn_stream *(*attach)(struct connection *); /* Create and attach a conn_stream to an outgoing connection */
 	void (*detach)(struct conn_stream *); /* Detach a conn_stream from an outgoing connection, when the request is done */
+	void (*show_fd)(struct chunk *, struct connection *); /* append some data about connection into chunk for "show fd" */
 	unsigned int flags;                           /* some flags characterizing the mux's capabilities (MX_FL_*) */
 	char name[8];                                 /* mux layer name, zero-terminated */
 };
diff --git a/src/cli.c b/src/cli.c
index b7d428d..035f4e5 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -834,8 +834,11 @@
 			else if (li)
 				chunk_appendf(&trash, " fe=%s", li->bind_conf->frontend->id);
 
-			if (mux)
+			if (mux) {
 				chunk_appendf(&trash, " mux=%s mux_ctx=%p", mux->name, ctx);
+				if (mux->show_fd)
+					mux->show_fd(&trash, fdt.owner);
+			}
 			else
 				chunk_appendf(&trash, " nomux");
 		}