Skip to content

Commit

Permalink
buffers: add vlib_buffer_unalloc_to_pool()
Browse files Browse the repository at this point in the history
Change-Id: Icd616989a525ef0be6c73a2ad91ae4871cf3921d
Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
  • Loading branch information
dmarion authored and dwallacelf committed Dec 21, 2023
1 parent 28b6dfa commit 82a68e9
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions src/vlib/buffer_funcs.h
Original file line number Diff line number Diff line change
Expand Up @@ -753,6 +753,23 @@ vlib_buffer_pool_put (vlib_main_t * vm, u8 buffer_pool_index,
clib_spinlock_unlock (&bp->lock);
}

/** \brief return unused buffers back to pool
This function can be used to return buffers back to pool without going
through vlib_buffer_free. Buffer metadata must not be modified in any
way before buffers are returned.
@param vm - (vlib_main_t *) vlib main data structure pointer
@param buffers - (u32 * ) buffer index array
@param n_buffers - (u32) number of buffers to free
@param buffer_pool_index - (u8) buffer pool index
*/
always_inline void
vlib_buffer_unalloc_to_pool (vlib_main_t *vm, u32 *buffers, u32 n_buffers,
u8 buffer_pool_index)
{
vlib_buffer_pool_put (vm, buffer_pool_index, buffers, n_buffers);
}

static_always_inline void
vlib_buffer_free_inline (vlib_main_t * vm, u32 * buffers, u32 n_buffers,
int maybe_next)
Expand Down

0 comments on commit 82a68e9

Please sign in to comment.