MCPcopy Create free account
hub / github.com/F-Stack/f-stack / rte_eth_xstats_get_names

Function rte_eth_xstats_get_names

dpdk/lib/ethdev/rte_ethdev.c:3434–3473  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3432}
3433
3434int
3435rte_eth_xstats_get_names(uint16_t port_id,
3436 struct rte_eth_xstat_name *xstats_names,
3437 unsigned int size)
3438{
3439 struct rte_eth_dev *dev;
3440 int cnt_used_entries;
3441 int cnt_expected_entries;
3442 int cnt_driver_entries;
3443 int i;
3444
3445 cnt_expected_entries = eth_dev_get_xstats_count(port_id);
3446 if (xstats_names == NULL || cnt_expected_entries < 0 ||
3447 (int)size < cnt_expected_entries)
3448 return cnt_expected_entries;
3449
3450 /* port_id checked in eth_dev_get_xstats_count() */
3451 dev = &rte_eth_devices[port_id];
3452
3453 cnt_used_entries = eth_basic_stats_get_names(dev, xstats_names);
3454
3455 if (dev->dev_ops->xstats_get_names != NULL) {
3456 /* If there are any driver-specific xstats, append them
3457 * to end of list.
3458 */
3459 cnt_driver_entries = (*dev->dev_ops->xstats_get_names)(
3460 dev,
3461 xstats_names + cnt_used_entries,
3462 size - cnt_used_entries);
3463 if (cnt_driver_entries < 0)
3464 return eth_err(port_id, cnt_driver_entries);
3465 cnt_used_entries += cnt_driver_entries;
3466 }
3467
3468 for (i = 0; i < cnt_used_entries; i++)
3469 rte_eth_trace_xstats_get_names(port_id, i, &xstats_names[i],
3470 size, cnt_used_entries);
3471
3472 return cnt_used_entries;
3473}
3474
3475
3476static int

Callers 8

__fs_xstats_countFunction · 0.85
__fs_xstats_get_namesFunction · 0.85
hn_vf_xstats_get_namesFunction · 0.85
nic_xstats_displayFunction · 0.85
print_statsFunction · 0.85

Calls 3

eth_dev_get_xstats_countFunction · 0.85
eth_errFunction · 0.85

Tested by

no test coverage detected