| 87 | } |
| 88 | |
| 89 | static uint16_t |
| 90 | eth_ring_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs) |
| 91 | { |
| 92 | void **ptrs = (void *)&bufs[0]; |
| 93 | struct ring_queue *r = q; |
| 94 | const uint16_t nb_tx = (uint16_t)rte_ring_enqueue_burst(r->rng, |
| 95 | ptrs, nb_bufs, NULL); |
| 96 | if (r->rng->flags & RING_F_SP_ENQ) |
| 97 | r->tx_pkts += nb_tx; |
| 98 | else |
| 99 | __atomic_fetch_add(&r->tx_pkts, nb_tx, __ATOMIC_RELAXED); |
| 100 | return nb_tx; |
| 101 | } |
| 102 | |
| 103 | static int |
| 104 | eth_dev_configure(struct rte_eth_dev *dev __rte_unused) { return 0; } |
nothing calls this directly
no test coverage detected