-static void
-nic_xstats_by_name_display(uint8_t port_id, char *name)
-{
- uint64_t id;
-
- printf("###### NIC statistics for port %-2d, statistic name '%s':\n",
- port_id, name);
-
- if (rte_eth_xstats_get_id_by_name(port_id, name, &id) == 0)
- printf("%s: %"PRIu64"\n", name, id);
- else
- printf("Statistic not found...\n");
-
-}
-
-static void
-nic_xstats_by_ids_display(uint8_t port_id, uint64_t *ids, int len)
-{
- struct rte_eth_xstat_name *xstats_names;
- uint64_t *values;
- int ret, i;
- static const char *nic_stats_border = "########################";
-
- values = malloc(sizeof(values) * len);
- if (values == NULL) {
- printf("Cannot allocate memory for xstats\n");
- return;
- }
-
- xstats_names = malloc(sizeof(struct rte_eth_xstat_name) * len);
- if (xstats_names == NULL) {
- printf("Cannot allocate memory for xstat names\n");
- free(values);
- return;
- }
-
- if (len != rte_eth_xstats_get_names(
- port_id, xstats_names, len, ids)) {
- printf("Cannot get xstat names\n");
- goto err;
- }
-
- printf("###### NIC extended statistics for port %-2d #########\n",
- port_id);
- printf("%s############################\n", nic_stats_border);
- ret = rte_eth_xstats_get(port_id, ids, values, len);
- if (ret < 0 || ret > len) {
- printf("Cannot get xstats\n");
- goto err;
- }
-
- for (i = 0; i < len; i++)
- printf("%s: %"PRIu64"\n",
- xstats_names[i].name,
- values[i]);
-
- printf("%s############################\n", nic_stats_border);
-err:
- free(values);
- free(xstats_names);
-}
-