Without setting the id, calling xstats_get twice with same array causes memory 
corruption.
Also, if IXGBEVF_NB_XSTATS will be different than 1 in the future, this will 
cause issues.

Signed-off-by: Ido Barnea <ibar...@cisco.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 7169007..b699252 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -3249,6 +3249,7 @@ ixgbevf_dev_xstats_get(struct rte_eth_dev *dev, struct 
rte_eth_xstat *xstats,
        /* Extended stats */
        for (i = 0; i < IXGBEVF_NB_XSTATS; i++) {
+               xstats[i].id = i;
                xstats[i].value = *(uint64_t *)(((char *)hw_stats) +
                        rte_ixgbevf_stats_strings[i].offset);
        }
-- 
2.8.3

Reply via email to