[dpdk-dev] [PATCH 1/8] net/bnxt: add support for xstats get by id
Ferruh Yigit
ferruh.yigit at intel.com
Tue Aug 29 18:10:04 CEST 2017
On 8/24/2017 5:29 PM, Ajit Khaparde wrote:
> This patch adds support for xstats_get_by_id/xstats_get_names_by_id.
> Signed-off-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
<...>
> +
> +int bnxt_dev_xstats_get_by_id_op(struct rte_eth_dev *dev, const uint64_t *ids,
> + uint64_t *values, unsigned int limit)
> +{
> + /* Account for the Tx drop pkts aka the Anti spoof counter */
> + const unsigned int stat_cnt = RTE_DIM(bnxt_rx_stats_strings) +
> + RTE_DIM(bnxt_tx_stats_strings) + 1;
> + struct rte_eth_xstat xstats[stat_cnt];
> + uint16_t i;
> +
> + bnxt_dev_xstats_get_op(dev, xstats, limit);
I guess intention here is to read all xstats, so "stat_cnt" should be
used instead of "limit"
> +
> + for (i = 0; i < limit; i++) {
> + if (ids[i] >= stat_cnt) {
Current xstats_get_by_id API, which is an interesting one, can call this
with ids==NULL.
> + RTE_LOG(ERR, PMD, "id value isn't valid");
> + return -1;
> + }
> + values[i] = xstats[ids[i]].value;
> + }
> + return limit;
if limit is zero, API expects to get number of available xstats, so
can't just return limit here.
> +}
<...>
More information about the dev
mailing list