too_big: too big response
outdated: number of response arrived too late (after an other name server)
-show quic
+show quic [all]
Dump information on all active QUIC frontend connections. This command is
restricted and can only be issued on sockets configured for levels "operator"
- or "admin".
+ or "admin". By default, connections on closing or draining state are not
+ displayed. Use the extra argument "all" to include them in the output.
show servers conn [<backend>]
Dump the current and idle connections state of the servers belonging to the
unsigned int epoch;
struct bref bref; /* back-reference to the quic-conn being dumped */
unsigned int thr;
+ int flags;
};
+#define QC_CLI_FL_SHOW_ALL 0x1 /* show closing/draining connections */
+
static int cli_parse_show_quic(char **args, char *payload, struct appctx *appctx, void *private)
{
struct show_quic_ctx *ctx = applet_reserve_svcctx(appctx, sizeof(*ctx));
if (!cli_has_level(appctx, ACCESS_LVL_OPER))
return 1;
+ if (*args[2] && strcmp(args[2], "all") == 0)
+ ctx->flags |= QC_CLI_FL_SHOW_ALL;
+
ctx->epoch = _HA_ATOMIC_FETCH_ADD(&qc_epoch, 1);
ctx->thr = 0;
+ ctx->flags = 0;
LIST_INIT(&ctx->bref.users);
continue;
}
+ if (!ctx->flags & QC_CLI_FL_SHOW_ALL &&
+ qc->flags & (QUIC_FL_CONN_CLOSING|QUIC_FL_CONN_DRAINING)) {
+ ctx->bref.ref = qc->el_th_ctx.n;
+ continue;
+ }
+
/* CIDs */
chunk_appendf(&trash, "* %p[%02u]: scid=", qc, qc->tid);
for (cid_len = 0; cid_len < qc->scid.len; ++cid_len)