From 28b6dfa723c00f38eac05c4546a1773a89063369 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Thu, 21 Dec 2023 15:54:14 +0100 Subject: dev: per-queue format callbacks Change-Id: Ia9fa6fab6288b4d0876022e72bf4f49bd00a19d2 Type: improvement Signed-off-by: Damjan Marion --- src/vnet/dev/dev.h | 2 ++ src/vnet/dev/format.c | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/src/vnet/dev/dev.h b/src/vnet/dev/dev.h index 951e5054d42..e7c6ca45fb5 100644 --- a/src/vnet/dev/dev.h +++ b/src/vnet/dev/dev.h @@ -115,6 +115,7 @@ typedef struct vnet_dev_rx_queue_op_t *start; vnet_dev_rx_queue_op_no_rv_t *stop; vnet_dev_rx_queue_op_no_rv_t *free; + format_function_t *format_info; } vnet_dev_rx_queue_ops_t; typedef struct @@ -123,6 +124,7 @@ typedef struct vnet_dev_tx_queue_op_t *start; vnet_dev_tx_queue_op_no_rv_t *stop; vnet_dev_tx_queue_op_no_rv_t *free; + format_function_t *format_info; } vnet_dev_tx_queue_ops_t; typedef struct diff --git a/src/vnet/dev/format.c b/src/vnet/dev/format.c index ff301615e10..848cd13a6c3 100644 --- a/src/vnet/dev/format.c +++ b/src/vnet/dev/format.c @@ -163,6 +163,9 @@ format_vnet_dev_rx_queue_info (u8 *s, va_list *args) format_white_space, indent, rxq->rx_thread_index, rxq->enabled ? "en" : "dis", rxq->started ? "" : "not-", rxq->interrupt_mode ? "interrupt" : "polling"); + if (rxq->port->rx_queue_ops.format_info) + s = format (s, "\n%U%U", format_white_space, indent, + rxq->port->rx_queue_ops.format_info, a, rxq); return s; } @@ -184,6 +187,9 @@ format_vnet_dev_tx_queue_info (u8 *s, va_list *args) else s = format (s, "Used by thread%s %U", n > 1 ? "s" : "", format_bitmap_list, txq->assigned_threads); + if (txq->port->tx_queue_ops.format_info) + s = format (s, "\n%U%U", format_white_space, indent, + txq->port->tx_queue_ops.format_info, a, txq); return s; } -- cgit 1.2.3-korg