|
static void | vlib_buffer_validate (vlib_main_t *vm, vlib_buffer_t *b) |
|
static void * | vlib_buffer_ptr_from_index (uword buffer_mem_start, u32 buffer_index, uword offset) |
|
static vlib_buffer_t * | vlib_get_buffer (vlib_main_t *vm, u32 buffer_index) |
| Translate buffer index into buffer pointer. More...
|
|
static_always_inline u32 | vlib_buffer_get_default_data_size (vlib_main_t *vm) |
|
static_always_inline void | vlib_buffer_copy_indices (u32 *dst, u32 *src, u32 n_indices) |
|
static void | vlib_buffer_copy_indices_from_ring (u32 *dst, u32 *ring, u32 start, u32 ring_size, u32 n_buffers) |
|
static void | vlib_buffer_copy_indices_to_ring (u32 *ring, u32 *src, u32 start, u32 ring_size, u32 n_buffers) |
|
| STATIC_ASSERT_OFFSET_OF (vlib_buffer_t, template_end, 64) |
|
static_always_inline void | vlib_buffer_copy_template (vlib_buffer_t *b, vlib_buffer_t *bt) |
|
static u8 | vlib_buffer_pool_get_default_for_numa (vlib_main_t *vm, u32 numa_node) |
|
static_always_inline void | vlib_get_buffers_with_offset (vlib_main_t *vm, u32 *bi, void **b, int count, i32 offset) |
| Translate array of buffer indices into buffer pointers with offset. More...
|
|
static_always_inline void | vlib_get_buffers (vlib_main_t *vm, u32 *bi, vlib_buffer_t **b, int count) |
| Translate array of buffer indices into buffer pointers. More...
|
|
static u32 | vlib_get_buffer_index (vlib_main_t *vm, void *p) |
| Translate buffer pointer into buffer index. More...
|
|
static_always_inline void | vlib_get_buffer_indices_with_offset (vlib_main_t *vm, void **b, u32 *bi, uword count, i32 offset) |
| Translate array of buffer pointers into buffer indices with offset. More...
|
|
static_always_inline void | vlib_get_buffer_indices (vlib_main_t *vm, vlib_buffer_t **b, u32 *bi, uword count) |
| Translate array of buffer pointers into buffer indices. More...
|
|
static vlib_buffer_t * | vlib_get_next_buffer (vlib_main_t *vm, vlib_buffer_t *b) |
| Get next buffer in buffer linklist, or zero for end of list. More...
|
|
uword | vlib_buffer_length_in_chain_slow_path (vlib_main_t *vm, vlib_buffer_t *b_first) |
|
static uword | vlib_buffer_length_in_chain (vlib_main_t *vm, vlib_buffer_t *b) |
| Get length in bytes of the buffer chain. More...
|
|
static uword | vlib_buffer_index_length_in_chain (vlib_main_t *vm, u32 bi) |
| Get length in bytes of the buffer index buffer chain. More...
|
|
static uword | vlib_buffer_contents (vlib_main_t *vm, u32 buffer_index, u8 *contents) |
| Copy buffer contents to memory. More...
|
|
static uword | vlib_buffer_get_pa (vlib_main_t *vm, vlib_buffer_t *b) |
|
static uword | vlib_buffer_get_current_pa (vlib_main_t *vm, vlib_buffer_t *b) |
|
void | vlib_buffer_validate_alloc_free (vlib_main_t *vm, u32 *buffers, uword n_buffers, vlib_buffer_known_state_t expected_state) |
|
static vlib_buffer_known_state_t | vlib_buffer_is_known (vlib_main_t *vm, u32 buffer_index) |
|
u8 * | vlib_validate_buffer (vlib_main_t *vm, u32 buffer_index, uword follow_chain) |
|
u8 * | vlib_validate_buffers (vlib_main_t *vm, u32 *buffers, uword next_buffer_stride, uword n_buffers, vlib_buffer_known_state_t known_state, uword follow_buffer_next) |
|
static_always_inline vlib_buffer_pool_t * | vlib_get_buffer_pool (vlib_main_t *vm, u8 buffer_pool_index) |
|
static_always_inline uword | vlib_buffer_pool_get (vlib_main_t *vm, u8 buffer_pool_index, u32 *buffers, u32 n_buffers) |
|
static u32 | vlib_buffer_alloc_from_pool (vlib_main_t *vm, u32 *buffers, u32 n_buffers, u8 buffer_pool_index) |
| Allocate buffers from specific pool into supplied array. More...
|
|
static u32 | vlib_buffer_alloc_on_numa (vlib_main_t *vm, u32 *buffers, u32 n_buffers, u32 numa_node) |
| Allocate buffers from specific numa node into supplied array. More...
|
|
static u32 | vlib_buffer_alloc (vlib_main_t *vm, u32 *buffers, u32 n_buffers) |
| Allocate buffers into supplied array. More...
|
|
static u32 | vlib_buffer_alloc_to_ring (vlib_main_t *vm, u32 *ring, u32 start, u32 ring_size, u32 n_buffers) |
| Allocate buffers into ring. More...
|
|
static u32 | vlib_buffer_alloc_to_ring_from_pool (vlib_main_t *vm, u32 *ring, u32 start, u32 ring_size, u32 n_buffers, u8 buffer_pool_index) |
| Allocate buffers into ring from specific buffer pool. More...
|
|
static_always_inline void | vlib_buffer_pool_put (vlib_main_t *vm, u8 buffer_pool_index, u32 *buffers, u32 n_buffers) |
|
static_always_inline void | vlib_buffer_free_inline (vlib_main_t *vm, u32 *buffers, u32 n_buffers, int maybe_next) |
|
static void | vlib_buffer_free (vlib_main_t *vm, u32 *buffers, u32 n_buffers) |
| Free buffers Frees the entire buffer chain for each buffer. More...
|
|
static void | vlib_buffer_free_no_next (vlib_main_t *vm, u32 *buffers, u32 n_buffers) |
| Free buffers, does not free the buffer chain for each buffer. More...
|
|
static void | vlib_buffer_free_one (vlib_main_t *vm, u32 buffer_index) |
| Free one buffer Shorthand to free a single buffer chain. More...
|
|
static void | vlib_buffer_free_from_ring (vlib_main_t *vm, u32 *ring, u32 start, u32 ring_size, u32 n_buffers) |
| Free buffers from ring. More...
|
|
static void | vlib_buffer_free_from_ring_no_next (vlib_main_t *vm, u32 *ring, u32 start, u32 ring_size, u32 n_buffers) |
| Free buffers from ring without freeing tail buffers. More...
|
|
int | vlib_buffer_add_data (vlib_main_t *vm, u32 *buffer_index, void *data, u32 n_data_bytes) |
|
static vlib_buffer_t * | vlib_buffer_copy (vlib_main_t *vm, vlib_buffer_t *b) |
|
static vlib_buffer_t * | vlib_buffer_copy_no_chain (vlib_main_t *vm, vlib_buffer_t *b, u32 *di) |
|
static void | vlib_buffer_move (vlib_main_t *vm, vlib_buffer_t *b, i16 offset) |
|
static u16 | vlib_buffer_clone_256 (vlib_main_t *vm, u32 src_buffer, u32 *buffers, u16 n_buffers, u16 head_end_offset, i16 offset) |
| Create a maximum of 256 clones of buffer and store them in the supplied array. More...
|
|
static u16 | vlib_buffer_clone_at_offset (vlib_main_t *vm, u32 src_buffer, u32 *buffers, u16 n_buffers, u16 head_end_offset, i16 offset) |
| Create multiple clones of buffer and store them in the supplied array. More...
|
|
static u16 | vlib_buffer_clone (vlib_main_t *vm, u32 src_buffer, u32 *buffers, u16 n_buffers, u16 head_end_offset) |
| Create multiple clones of buffer and store them in the supplied array. More...
|
|
static void | vlib_buffer_attach_clone (vlib_main_t *vm, vlib_buffer_t *head, vlib_buffer_t *tail) |
| Attach cloned tail to the buffer. More...
|
|
static void | vlib_buffer_chain_init (vlib_buffer_t *first) |
|
static vlib_buffer_t * | vlib_buffer_chain_buffer (vlib_main_t *vm, vlib_buffer_t *last, u32 next_bi) |
|
static void | vlib_buffer_chain_increase_length (vlib_buffer_t *first, vlib_buffer_t *last, i32 len) |
|
static u16 | vlib_buffer_chain_append_data (vlib_main_t *vm, vlib_buffer_t *first, vlib_buffer_t *last, void *data, u16 data_len) |
|
u16 | vlib_buffer_chain_append_data_with_alloc (vlib_main_t *vm, vlib_buffer_t *first, vlib_buffer_t **last, void *data, u16 data_len) |
|
void | vlib_buffer_chain_validate (vlib_main_t *vm, vlib_buffer_t *first) |
|
void | vlib_packet_template_init (vlib_main_t *vm, vlib_packet_template_t *t, void *packet_data, uword n_packet_data_bytes, uword min_n_buffers_each_alloc, char *fmt,...) |
|
void * | vlib_packet_template_get_packet (vlib_main_t *vm, vlib_packet_template_t *t, u32 *bi_result) |
|
static void | vlib_packet_template_free (vlib_main_t *vm, vlib_packet_template_t *t) |
|
static u32 | vlib_buffer_space_left_at_end (vlib_main_t *vm, vlib_buffer_t *b) |
|
static u32 | vlib_buffer_chain_linearize (vlib_main_t *vm, vlib_buffer_t *b) |
|
vlib buffer access methods.
Definition in file buffer_funcs.h.