On 4/28/22 16:15, Chengwen Feng wrote:
Currently the value returned when xstats is NULL of rte_eth_xstats_get()
is not specified, some PMDs (eg. hns3/ipn3ke/mvpp2/axgbe) return zero
while others return the required number of elements.
This patch defines that the return value should be the required number of
elements when xstats is NULL of rte_eth_xstats_get().

Fixes: ce757f5c9a4d ("ethdev: new method to retrieve extended statistics")
Cc: sta...@dpdk.org

Signed-off-by: Chengwen Feng <fengcheng...@huawei.com>
---
  lib/ethdev/rte_ethdev.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
index 04cff8ee10..0b18297c95 100644
--- a/lib/ethdev/rte_ethdev.h
+++ b/lib/ethdev/rte_ethdev.h
@@ -3174,7 +3174,7 @@ int rte_eth_xstats_get_names(uint16_t port_id,
   * @param xstats
   *   A pointer to a table of structure of type *rte_eth_xstat*
   *   to be filled with device statistics ids and values.
- *   This parameter can be set to NULL if n is 0.
+ *   If set to NULL, the function returns the required number of elements.
I'm sorry, but I disagree with the patch. First of all it
removes limitation when xstats may be NULL. Second, I think
that clarification is not required since:
if xstats is NULL, n must be 0 as defined above and return
value description says:
3183 * - A positive value higher than n: error, the given statistics table 3184 * is too small. The return value corresponds to the size that should
3185  *     be given to succeed. The entries in the table are not valid and
3186  *     shall not be used by the caller.


   * @param n
   *   The size of the xstats array (number of elements).
   * @return


Reply via email to