- n_alloc = vlib_buffer_alloc (vm, &vring->buffers[next], n_slots);
-
- if (PREDICT_FALSE (n_alloc < n_slots))
- n_slots = n_alloc;
-
- i = next + n_slots - sz;
- if (PREDICT_FALSE (i > 0))
- clib_memcpy (vring->buffers, &vring->buffers[sz], i * sizeof (u32));
+ n_slots = vlib_buffer_alloc_to_ring (vm, vring->buffers, next, vring->size,
+ n_slots);