On Fri, 24 Jul 2026 09:26:10 +0200
David Marchand <[email protected]> wrote:
> > + for (i = 0; i < eth_dev->data->nb_rx_queues; i++) {
> > + struct roc_nix_stats_queue qstats_data;
> > +
> > + if (i >= RTE_ETHDEV_QUEUE_STAT_CNTRS)
> > + break;
> > +
> > + rc = roc_nix_stats_queue_get(nix, i, 1, &qstats_data);
> > + if (rc)
> > + goto exit;
> > + qstats->q_ipackets[i] = qstats_data.rx_pkts;
> > + qstats->q_ibytes[i] = qstats_data.rx_octs;
> > + qstats->q_errors[i] += qstats_data.rx_drop_pkts;
>
> It was already there, but I find it suspicious that only Rx errors are
> handled like those are reset on read.
This was a somewhat automated conversion.
It looks like the rx error counter across all queues is populated
from hardware and rx_drop is counted in software per queue.