Go to file
Olivier Matz 513c78ae3f ethdev: fix extended statistics name index
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: bd6aa172cf ("ethdev: fetch extended statistics with integer ids")

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Remy Horton <remy.horton@intel.com>
2017-01-04 19:04:30 +01:00
app ethdev: decouple from PCI device 2016-12-25 23:30:19 +01:00
buildtools drivers: advertise kmod dependencies in pmdinfo 2016-12-20 18:26:00 +01:00
config config: remove insecure warnings 2016-12-07 18:34:02 +01:00
doc doc: update release notes for flow API 2016-12-23 15:22:50 +01:00
drivers ethdev: fix extended statistics name index 2017-01-04 19:04:30 +01:00
examples examples/ethtool: fix driver information 2016-12-20 18:22:03 +01:00
lib ethdev: fix extended statistics name index 2017-01-04 19:04:30 +01:00
mk config: remove insecure warnings 2016-12-07 18:34:02 +01:00
pkg version: 16.11.0 2016-11-13 15:28:12 +01:00
scripts scripts: check cc stable mailing list in commit 2016-12-01 16:03:01 +01:00
tools drivers: advertise kmod dependencies in pmdinfo 2016-12-20 18:26:00 +01:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore doc: generate NIC overview table from ini files 2016-08-03 18:42:17 +02:00
GNUmakefile pmdinfogen: add buildtools and pmdinfogen utility 2016-07-06 22:34:39 +02:00
LICENSE.GPL doc: GPL/LGPL licenses 2013-07-25 14:43:06 +02:00
LICENSE.LGPL doc: fix file format (dos to unix) 2013-09-06 11:43:07 +02:00
MAINTAINERS ethdev: introduce generic flow API 2016-12-23 10:11:07 +01:00
Makefile remove trailing whitespaces 2014-06-11 00:29:34 +02:00
README doc: add readme file 2015-12-13 22:06:58 +01:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD license for the core libraries and
drivers. The kernel components are GPLv2 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org