|
static vlib_buffer_t * | vlib_get_buffer (vlib_main_t *vm, u32 buffer_index) |
| Translate buffer index into buffer pointer. More...
|
|
static u32 | vlib_get_buffer_index (vlib_main_t *vm, void *p) |
| Translate buffer pointer into buffer index. 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 u64 | vlib_get_buffer_data_physical_address (vlib_main_t *vm, u32 buffer_index) |
|
static vlib_buffer_known_state_t | vlib_buffer_is_known (vlib_main_t *vm, u32 buffer_index) |
|
static void | vlib_buffer_set_known_state (vlib_main_t *vm, u32 buffer_index, vlib_buffer_known_state_t state) |
|
u8 * | vlib_validate_buffer (vlib_main_t *vm, u32 buffer_index, uword follow_chain) |
|
clib_error_t * | vlib_buffer_pool_create (vlib_main_t *vm, unsigned num_mbufs, unsigned socket_id) |
|
static u32 | vlib_buffer_alloc (vlib_main_t *vm, u32 *buffers, u32 n_buffers) |
| Allocate buffers into supplied array. More...
|
|
static u32 | vlib_buffer_round_size (u32 size) |
|
static u32 | vlib_buffer_alloc_from_free_list (vlib_main_t *vm, u32 *buffers, u32 n_buffers, u32 free_list_index) |
| Allocate buffers from specific freelist into supplied array. More...
|
|
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...
|
|
u32 | vlib_buffer_create_free_list (vlib_main_t *vm, u32 n_data_bytes, char *fmt,...) |
|
static void | vlib_buffer_delete_free_list (vlib_main_t *vm, u32 free_list_index) |
|
u32 | vlib_buffer_get_or_create_free_list (vlib_main_t *vm, u32 n_data_bytes, char *fmt,...) |
|
void | vlib_buffer_merge_free_lists (vlib_buffer_free_list_t *dst, vlib_buffer_free_list_t *src) |
|
void | vlib_buffer_free_list_fill_unaligned (vlib_main_t *vm, vlib_buffer_free_list_t *free_list, uword n_unaligned_buffers) |
|
static u32 | vlib_buffer_get_free_list_with_size (vlib_main_t *vm, u32 size) |
|
static vlib_buffer_free_list_t * | vlib_buffer_get_buffer_free_list (vlib_main_t *vm, vlib_buffer_t *b, u32 *index) |
|
static vlib_buffer_free_list_t * | vlib_buffer_get_free_list (vlib_main_t *vm, u32 free_list_index) |
|
static u32 | vlib_buffer_free_list_buffer_size (vlib_main_t *vm, u32 free_list_index) |
|
void | vlib_aligned_memcpy (void *_dst, void *_src, int n_bytes) |
|
static void | vlib_copy_buffers (u32 *dst, u32 *src, u32 n) |
|
static void * | vlib_physmem_alloc_aligned (vlib_main_t *vm, clib_error_t **error, uword n_bytes, uword alignment) |
|
static void * | vlib_physmem_alloc (vlib_main_t *vm, clib_error_t **error, uword n_bytes) |
|
static void | vlib_physmem_free (vlib_main_t *vm, void *mem) |
|
static u64 | vlib_physmem_virtual_to_physical (vlib_main_t *vm, void *mem) |
|
u32 | vlib_buffer_add_data (vlib_main_t *vm, u32 free_list_index, 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 u8 | vlib_buffer_clone (vlib_main_t *vm, u32 src_buffer, u32 *buffers, u8 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 *first, 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, u32 free_list_index, 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, u32 free_list_index, 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_get_packet_helper (vlib_main_t *vm, vlib_packet_template_t *t) |
|
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_physmem_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 | unserialize_vlib_buffer_n_bytes (serialize_main_t *m) |
|
static void | vlib_buffer_init_for_free_list (vlib_buffer_t *dst, vlib_buffer_free_list_t *fl) |
|
static void | vlib_buffer_add_to_free_list (vlib_main_t *vm, vlib_buffer_free_list_t *f, u32 buffer_index, u8 do_init) |
|
static void | vlib_buffer_init_two_for_free_list (vlib_buffer_t *dst0, vlib_buffer_t *dst1, vlib_buffer_free_list_t *fl) |
|
static void | vlib_validate_buffer_in_use (vlib_buffer_t *b, u32 expected) |
|
static void | vlib_validate_buffer_set_in_use (vlib_buffer_t *b, u32 expected) |
|
vlib buffer access methods.
Definition in file buffer_funcs.h.