[dpdk-dev] [PATCH v2] ethdev: fix xstats retrieve by id API

Ferruh Yigit ferruh.yigit at intel.com
Thu Oct 12 21:42:48 CEST 2017

On 10/12/2017 2:31 PM, Lee Daly wrote:
> From: Lee <lee.daly at intel.com>
> Fix xstats functions, rte_eth_xstats_get_names_by_id()
> and rte_eth_xstats_get_by_id(), in current implementation
> ethdev level reads all xstat values and filters out
> the ones requested by the application. This behavior doesn't
> benefit from PMD ops and doesn't provide the benefit the
> API was created in the first place for. APIs are also unnecessarily
> complicated. Both APIs have different returns for the same params.
> In this fix, instead of reading all the stats and finding the
> requested value, drivers can provide ops to get selected xstats.
> API no longer crashes with certain params,
> rte_eth_get_by_id returned seg fault with
> "ids = NULL && values != NULL && n<max”
> rte_eth_get_names_by_id returned seg fault with
> "ids = NULL && values != NULL && n=0”
> These now return max number of stats available, matching the other API.
> rte_eth_get_by_id returned seg fault with
> "ids != NULL && values = NULL && n<max”
> This now returns -22,(EINVAL).
> Standardized variable/parameter names between the 2 APIs.
> Overall code complexity reduced.
> Fixes: 79c913a42f0e ("ethdev: retrieve xstats by ID")
> Cc: kubax.kozak at intel.com
> Signed-off-by: Lee Daly <lee.daly at intel.com>
> Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>

Applied to dpdk-next-net/master, thanks.

Welcome Lee!

More information about the dev mailing list