Extended xstats API in ethdev library to allow grouping of stats logically so they can be retrieved per logical grouping managed by the application. Changed existing functions rte_eth_xstats_get_names and rte_eth_xstats_get to use a new list of arguments: array of ids and array of values. ABI versioning mechanism was used to support backward compatibility. Introduced two new functions rte_eth_xstats_get_all and rte_eth_xstats_get_names_all which keeps functionality of the previous ones (respectively rte_eth_xstats_get and rte_eth_xstats_get_names) but use new API inside. Both functions marked as deprecated. Introduced new function: rte_eth_xstats_get_id_by_name to retrieve xstats ids by its names. Extended functionality of proc_info application: --xstats-name NAME: to display single xstat value by NAME Updated test-pmd application to use new API.
v4 changes: documentation change after API modification fix xstats display for PMD without _by_ids() functions fix ABI validator errors v3 changes: checkpatch fixes removed malloc bug in ethdev add new command to proc_info and IDs parsing merged testpmd and proc_info patch with library patch Jacek Piasecki (3): ethdev: new xstats API add retrieving by ID net/e1000: new xstats API add ID support for e1000 net/ixgbe: new xstats API add ID support for ixgbe app/proc_info/main.c | 150 ++++++++++- app/test-pmd/config.c | 19 +- doc/guides/prog_guide/poll_mode_drv.rst | 174 +++++++++++-- drivers/net/e1000/igb_ethdev.c | 92 ++++++- drivers/net/ixgbe/ixgbe_ethdev.c | 179 ++++++++++++++ lib/librte_ether/Makefile | 2 +- lib/librte_ether/rte_ethdev.c | 426 ++++++++++++++++++++++++-------- lib/librte_ether/rte_ethdev.h | 176 ++++++++++++- lib/librte_ether/rte_ether_version.map | 5 + 9 files changed, 1066 insertions(+), 157 deletions(-) -- 1.9.1