vlib_cli_output (vm, "device '%s':", dev->device_id);
foreach_vnet_dev_port (p, dev)
{
+ vlib_cli_output (vm, " Port %u:", p->port_id);
vlib_cli_output (vm, " %U", format_vnet_dev_counters, &fa,
p->counter_main);
foreach_vnet_dev_port_rx_queue (q, p)
if (q->counter_main)
{
- vlib_cli_output (vm, " RX queue %u:", q->queue_id);
- vlib_cli_output (vm, " %U", format_vnet_dev_counters, &fa,
+ vlib_cli_output (vm, " RX queue %u:", q->queue_id);
+ vlib_cli_output (vm, " %U", format_vnet_dev_counters, &fa,
q->counter_main);
}
foreach_vnet_dev_port_tx_queue (q, p)
if (q->counter_main)
{
- vlib_cli_output (vm, " TX queue %u:", q->queue_id);
- vlib_cli_output (vm, " %U", format_vnet_dev_counters, &fa,
+ vlib_cli_output (vm, " TX queue %u:", q->queue_id);
+ vlib_cli_output (vm, " %U", format_vnet_dev_counters, &fa,
q->counter_main);
}
}
char *units[] = {
[VNET_DEV_CTR_UNIT_BYTES] = "bytes",
[VNET_DEV_CTR_UNIT_PACKETS] = "packets",
+ [VNET_DEV_CTR_UNIT_DESCRIPTORS] = "descriptors",
+ [VNET_DEV_CTR_UNIT_BUFFERS] = "buffers",
};
if (c->type == VNET_DEV_CTR_TYPE_VENDOR)
VNET_DEV_CTR_UNIT_NA,
VNET_DEV_CTR_UNIT_BYTES,
VNET_DEV_CTR_UNIT_PACKETS,
+ VNET_DEV_CTR_UNIT_DESCRIPTORS,
+ VNET_DEV_CTR_UNIT_BUFFERS,
} __clib_packed vnet_dev_counter_unit_t;
typedef struct vnet_dev_counter