513c78ae3f
The function rte_eth_xstats_get() return an array of tuples (id,
value). The value is the statistic counter, while the id references a
name in the array returned by rte_eth_xstats_get_name().
Today, each 'id' returned by rte_eth_xstats_get() is equal to the index
in the returned array, making this value useless. It also prevents a
driver from having different indexes for names and value, like in the
example below:
rte_eth_xstats_get_name() returns:
0: "rx0_stat"
1: "rx1_stat"
2: ...
7: "rx7_stat"
8: "tx0_stat"
9: "tx1_stat"
...
15: "tx7_stat"
rte_eth_xstats_get() returns:
0: id=0, val=<stat> ("rx0_stat")
1: id=1, val=<stat> ("rx1_stat")
2: id=8, val=<stat> ("tx0_stat")
3: id=9, val=<stat> ("tx1_stat")
This patch fixes the drivers to set the 'id' in their ethdev->xstats_get()
(except e1000 which was already doing it), and fixes ethdev by not setting
the 'id' field to the index of the table for pmd-specific stats: instead,
they should just be shifted by the max number of generic statistics.
Fixes:
|
||
---|---|---|
.. | ||
bnx2x_ethdev.c | ||
bnx2x_ethdev.h | ||
bnx2x_logs.h | ||
bnx2x_rxtx.c | ||
bnx2x_rxtx.h | ||
bnx2x_stats.c | ||
bnx2x_stats.h | ||
bnx2x_vfpf.c | ||
bnx2x_vfpf.h | ||
bnx2x.c | ||
bnx2x.h | ||
ecore_fw_defs.h | ||
ecore_hsi.h | ||
ecore_init_ops.h | ||
ecore_init.h | ||
ecore_mfw_req.h | ||
ecore_reg.h | ||
ecore_sp.c | ||
ecore_sp.h | ||
elink.c | ||
elink.h | ||
LICENSE.bnx2x_pmd | ||
Makefile | ||
rte_pmd_bnx2x_version.map |