|
static vlib_buffer_t * | vlib_get_buffer (vlib_main_t *vm, u32 buffer_index) |
| Translate buffer index into buffer pointer. More...
|
|
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 u64 | vlib_get_buffer_data_physical_address (vlib_main_t *vm, u32 buffer_index) |
|
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 (u32 buffer_index) |
|
static void | vlib_buffer_set_known_state (u32 buffer_index, vlib_buffer_known_state_t state) |
|
u8 * | vlib_validate_buffer (vlib_main_t *vm, u32 buffer_index, uword follow_chain) |
|
static u32 | vlib_buffer_round_size (u32 size) |
|
static vlib_buffer_free_list_index_t | vlib_buffer_get_free_list_index (vlib_buffer_t *b) |
|
static void | vlib_buffer_set_free_list_index (vlib_buffer_t *b, vlib_buffer_free_list_index_t index) |
|
static u32 | vlib_buffer_alloc_from_free_list (vlib_main_t *vm, u32 *buffers, u32 n_buffers, vlib_buffer_free_list_index_t index) |
| Allocate buffers from specific freelist 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 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...
|
|
vlib_buffer_free_list_index_t | 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, vlib_buffer_free_list_index_t free_list_index) |
|
void | vlib_buffer_free_list_fill_unaligned (vlib_main_t *vm, vlib_buffer_free_list_t *free_list, uword n_unaligned_buffers) |
|
static vlib_buffer_free_list_t * | vlib_buffer_get_buffer_free_list (vlib_main_t *vm, vlib_buffer_t *b, vlib_buffer_free_list_index_t *index) |
|
static vlib_buffer_free_list_t * | vlib_buffer_get_free_list (vlib_main_t *vm, vlib_buffer_free_list_index_t free_list_index) |
|
static u32 | vlib_buffer_free_list_buffer_size (vlib_main_t *vm, vlib_buffer_free_list_index_t index) |
|
void | vlib_aligned_memcpy (void *_dst, void *_src, int n_bytes) |
|
static void | vlib_copy_buffers (u32 *dst, u32 *src, u32 n) |
|
u32 | vlib_buffer_add_data (vlib_main_t *vm, vlib_buffer_free_list_index_t 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 u16 | vlib_buffer_clone_256 (vlib_main_t *vm, u32 src_buffer, u32 *buffers, u16 n_buffers, u16 head_end_offset) |
| Create a maximum of 256 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 *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, vlib_buffer_free_list_index_t 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, vlib_buffer_free_list_index_t 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_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_validate_buffer_in_use (vlib_buffer_t *b, u32 expected) |
|
static void | vlib_validate_buffer_set_in_use (vlib_buffer_t *b, u32 expected) |
|
static void | vlib_buffer_chain_compress (vlib_main_t *vm, vlib_buffer_t *first, u32 **discard_vector) |
| compress buffer chain in a way where the first buffer is at least VLIB_BUFFER_CHAIN_MIN_FIRST_DATA_SIZE long More...
|
|
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.