Go to the source code of this file.
|
static __clib_unused u8 * | format_memif_input_trace (u8 *s, va_list *args) |
|
static_always_inline void | memif_prefetch (vlib_main_t *vm, u32 bi) |
|
static_always_inline void | memif_buffer_add_to_chain (vlib_main_t *vm, u32 bi, u32 first_bi, u32 prev_bi) |
|
static_always_inline uword | memif_copy_buffer_from_rx_ring (vlib_main_t *vm, memif_if_t *mif, memif_ring_t *ring, memif_queue_t *mq, u16 ring_size, u32 n_buffer_bytes, u32 *n_free_bufs, vlib_buffer_t **first_b, u32 *first_bi, u32 *bi, u16 *num_slots) |
| Copy buffer from rx ring. More...
|
|
static_always_inline u32 | memif_next_from_ip_hdr (vlib_node_runtime_t *node, vlib_buffer_t *b) |
|
static_always_inline uword | memif_device_input_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, memif_if_t *mif, memif_ring_type_t type, u16 qid, memif_interface_mode_t mode) |
|
uword CLIB_MULTIARCH_FN() | memif_input_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static void __clib_constructor | memif_input_multiarch_select (void) |
|
#define foreach_memif_input_error _(NOT_IP, "not ip packet") |
Enumerator |
---|
MEMIF_INPUT_N_ERROR |
|
Definition at line 36 of file node.c.
static __clib_unused u8* format_memif_input_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
static_always_inline uword memif_copy_buffer_from_rx_ring |
( |
vlib_main_t * |
vm, |
|
|
memif_if_t * |
mif, |
|
|
memif_ring_t * |
ring, |
|
|
memif_queue_t * |
mq, |
|
|
u16 |
ring_size, |
|
|
u32 |
n_buffer_bytes, |
|
|
u32 * |
n_free_bufs, |
|
|
vlib_buffer_t ** |
first_b, |
|
|
u32 * |
first_bi, |
|
|
u32 * |
bi, |
|
|
u16 * |
num_slots |
|
) |
| |
Copy buffer from rx ring.
- Parameters
-
* | vm (in) |
* | mif (in) pointer to memif interface |
* | ring (in) pointer to memif ring |
* | rd (in) pointer to ring data |
ring_size | (in) ring size |
* | n_free_bufs (in/out) the number of free vlib buffers available |
** | first_b (out) the first vlib buffer pointer |
* | first_bi (out) the first vlib buffer index |
* | bi (in/out) the current buffer index #param * num_slots (in/out) the number of descriptors available to read |
- Returns
- total bytes read from rx ring also written to vlib buffers
Definition at line 116 of file node.c.
static void __clib_constructor memif_input_multiarch_select |
( |
void |
| ) |
|
|
static |
__clib_unused char* memif_input_error_strings[] |
|
static |
Initial value:= {
#define _(n,s)
}
#define foreach_memif_input_error
Definition at line 44 of file node.c.
Initial value:= {
.name = "memif-input",
.sibling_of = "device-input",
.state = VLIB_NODE_STATE_INTERRUPT,
}
static __clib_unused char * memif_input_error_strings[]
uword CLIB_MULTIARCH_FN() memif_input_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
static __clib_unused u8 * format_memif_input_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (memif_input_node)
Definition at line 497 of file node.c.