diff options
author | Monendra Singh Kushwaha <kmonendra@marvell.com> | 2024-05-21 03:26:49 +0530 |
---|---|---|
committer | Damjan Marion <dmarion@0xa5.net> | 2024-06-11 09:50:54 +0000 |
commit | 68b8125dbfc2c5ba7703d8af1c02585fd1263b37 (patch) | |
tree | 22526af3d3d46c23c0c06f82b050e635c833f7bc /src/plugins/dev_octeon/counter.c | |
parent | 2ea1e2c36124be4120e36a3385f5e27c7606597d (diff) |
octeon: add clear counters for port and queues
Type: feature
Change-Id: Ie36be41694e7bd5341b4239dcba2ae6834c4a73f
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
Diffstat (limited to 'src/plugins/dev_octeon/counter.c')
-rw-r--r-- | src/plugins/dev_octeon/counter.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/plugins/dev_octeon/counter.c b/src/plugins/dev_octeon/counter.c index 5763237d105..dd73684c386 100644 --- a/src/plugins/dev_octeon/counter.c +++ b/src/plugins/dev_octeon/counter.c @@ -294,3 +294,45 @@ oct_txq_get_stats (vlib_main_t *vm, vnet_dev_port_t *port, return VNET_DEV_OK; } + +void +oct_port_clear_counters (vlib_main_t *vm, vnet_dev_port_t *port) +{ + vnet_dev_t *dev = port->dev; + oct_device_t *cd = vnet_dev_get_data (dev); + struct roc_nix *nix = cd->nix; + int rrv; + + if ((rrv = roc_nix_stats_reset (nix))) + oct_roc_err (dev, rrv, "roc_nix_stats_reset() failed"); +} + +void +oct_rxq_clear_counters (vlib_main_t *vm, vnet_dev_rx_queue_t *rxq) +{ + oct_rxq_t *crq = vnet_dev_get_rx_queue_data (rxq); + vnet_dev_t *dev = rxq->port->dev; + oct_device_t *cd = vnet_dev_get_data (dev); + struct roc_nix *nix = cd->nix; + int rrv; + + if ((rrv = roc_nix_stats_queue_reset (nix, crq->rq.qid, 1))) + oct_roc_err (dev, rrv, + "roc_nix_stats_queue_reset() failed for rx queue %u", + rxq->queue_id); +} + +void +oct_txq_clear_counters (vlib_main_t *vm, vnet_dev_tx_queue_t *txq) +{ + oct_txq_t *ctq = vnet_dev_get_tx_queue_data (txq); + vnet_dev_t *dev = txq->port->dev; + oct_device_t *cd = vnet_dev_get_data (dev); + struct roc_nix *nix = cd->nix; + int rrv; + + if ((rrv = roc_nix_stats_queue_reset (nix, ctq->sq.qid, 0))) + oct_roc_err (dev, rrv, + "roc_nix_stats_queue_reset() failed for tx queue %u", + txq->queue_id); +} |