- ret = xsk_ring_prod__reserve(fq, reserve_size, &idx);
- if (unlikely(!ret)) {
- AF_XDP_LOG(ERR, "Failed to reserve enough fq descs.\n");
- return ret;
+ if (rte_ring_dequeue_bulk(umem->buf_ring, addrs, reserve_size, NULL)
+ != reserve_size) {
+ AF_XDP_LOG(DEBUG, "Failed to get enough buffers for fq.\n");
+ return -1;
+ }
+
+ if (unlikely(!xsk_ring_prod__reserve(fq, reserve_size, &idx))) {
+ AF_XDP_LOG(DEBUG, "Failed to reserve enough fq descs.\n");
+ rte_ring_enqueue_bulk(umem->buf_ring, addrs,
+ reserve_size, NULL);
+ return -1;