retrieve basic stats names */
| 3278 | |
| 3279 | /* retrieve basic stats names */ |
| 3280 | static int |
| 3281 | eth_basic_stats_get_names(struct rte_eth_dev *dev, |
| 3282 | struct rte_eth_xstat_name *xstats_names) |
| 3283 | { |
| 3284 | int cnt_used_entries = 0; |
| 3285 | uint32_t idx, id_queue; |
| 3286 | uint16_t num_q; |
| 3287 | |
| 3288 | for (idx = 0; idx < RTE_NB_STATS; idx++) { |
| 3289 | strlcpy(xstats_names[cnt_used_entries].name, |
| 3290 | eth_dev_stats_strings[idx].name, |
| 3291 | sizeof(xstats_names[0].name)); |
| 3292 | cnt_used_entries++; |
| 3293 | } |
| 3294 | |
| 3295 | if ((dev->data->dev_flags & RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS) == 0) |
| 3296 | return cnt_used_entries; |
| 3297 | |
| 3298 | num_q = RTE_MIN(dev->data->nb_rx_queues, RTE_ETHDEV_QUEUE_STAT_CNTRS); |
| 3299 | for (id_queue = 0; id_queue < num_q; id_queue++) { |
| 3300 | for (idx = 0; idx < RTE_NB_RXQ_STATS; idx++) { |
| 3301 | snprintf(xstats_names[cnt_used_entries].name, |
| 3302 | sizeof(xstats_names[0].name), |
| 3303 | "rx_q%u_%s", |
| 3304 | id_queue, eth_dev_rxq_stats_strings[idx].name); |
| 3305 | cnt_used_entries++; |
| 3306 | } |
| 3307 | |
| 3308 | } |
| 3309 | num_q = RTE_MIN(dev->data->nb_tx_queues, RTE_ETHDEV_QUEUE_STAT_CNTRS); |
| 3310 | for (id_queue = 0; id_queue < num_q; id_queue++) { |
| 3311 | for (idx = 0; idx < RTE_NB_TXQ_STATS; idx++) { |
| 3312 | snprintf(xstats_names[cnt_used_entries].name, |
| 3313 | sizeof(xstats_names[0].name), |
| 3314 | "tx_q%u_%s", |
| 3315 | id_queue, eth_dev_txq_stats_strings[idx].name); |
| 3316 | cnt_used_entries++; |
| 3317 | } |
| 3318 | } |
| 3319 | return cnt_used_entries; |
| 3320 | } |
| 3321 | |
| 3322 | /* retrieve ethdev extended statistics names */ |
| 3323 | int |
no test coverage detected