git.droids-corp.org
/
dpdk.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
7dee8c7
)
net/af_xdp: enqueue buf ring when allocate Tx queue fails
author
Xiaolong Ye
<xiaolong.ye@intel.com>
Wed, 17 Apr 2019 13:49:43 +0000
(21:49 +0800)
committer
Ferruh Yigit
<ferruh.yigit@intel.com>
Fri, 19 Apr 2019 12:51:54 +0000
(14:51 +0200)
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>
drivers/net/af_xdp/rte_eth_af_xdp.c
patch
|
blob
|
history
diff --git
a/drivers/net/af_xdp/rte_eth_af_xdp.c
b/drivers/net/af_xdp/rte_eth_af_xdp.c
index
007a1c6
..
5cc643c
100644
(file)
--- a/
drivers/net/af_xdp/rte_eth_af_xdp.c
+++ b/
drivers/net/af_xdp/rte_eth_af_xdp.c
@@
-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;
}