net/af_xdp: enqueue buf ring when allocate Tx queue fails
When it fails to allocate enough slots in Tx queue for transmitting packets, we need to return the dequeued addrs to buf ring. Fixes: f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD") Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
This commit is contained in:
parent
7dee8c7948
commit
f57ea89c69
@ -276,6 +276,7 @@ eth_af_xdp_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
|
||||
|
||||
if (xsk_ring_prod__reserve(&txq->tx, nb_pkts, &idx_tx) != nb_pkts) {
|
||||
kick_tx(txq);
|
||||
rte_ring_enqueue_bulk(umem->buf_ring, addrs, nb_pkts, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user