Go to the source code of this file.
|
static u8 * | format_virtio_input_trace (u8 *s, va_list *args) |
|
static_always_inline void | virtio_refill_vring_split (vlib_main_t *vm, virtio_if_t *vif, virtio_if_type_t type, virtio_vring_t *vring, const int hdr_sz, u32 node_index) |
|
static_always_inline void | virtio_refill_vring_packed (vlib_main_t *vm, virtio_if_t *vif, virtio_if_type_t type, virtio_vring_t *vring, const int hdr_sz, u32 node_index) |
|
static_always_inline void | virtio_needs_csum (vlib_buffer_t *b0, virtio_net_hdr_v1_t *hdr, u8 *l4_proto, u8 *l4_hdr_sz, virtio_if_type_t type) |
|
static_always_inline void | fill_gso_buffer_flags (vlib_buffer_t *b0, virtio_net_hdr_v1_t *hdr, u8 l4_proto, u8 l4_hdr_sz) |
|
static_always_inline u16 | virtio_n_left_to_process (virtio_vring_t *vring, const int packed) |
|
static_always_inline u16 | virtio_get_slot_id (virtio_vring_t *vring, const int packed, u16 last, u16 mask) |
|
static_always_inline u16 | virtio_get_len (virtio_vring_t *vring, const int packed, const int hdr_sz, u16 last, u16 mask) |
|
static_always_inline uword | virtio_device_input_gso_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, virtio_if_t *vif, virtio_vring_t *vring, virtio_if_type_t type, int gso_enabled, int checksum_offload_enabled, int packed) |
|
static_always_inline uword | virtio_device_input_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, virtio_if_t *vif, u16 qid, virtio_if_type_t type) |
|
VLIB_NODE_FN() | virtio_input_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
◆ foreach_virtio_input_error
#define foreach_virtio_input_error |
Value:_(BUFFER_ALLOC, "buffer alloc error") \
_(UNKNOWN, "unknown")
Definition at line 38 of file node.c.
◆ increment_last
#define increment_last |
( |
|
last, |
|
|
|
packed, |
|
|
|
vring |
|
) |
| |
Value:do { \
last++; \
if (packed &&
last >= vring->size) \
{ \
last = 0; \
vring->used_wrap_counter ^= 1; \
} \
} while (0)
static heap_elt_t * last(heap_header_t *h)
Definition at line 372 of file node.c.
◆ virtio_input_error_t
Enumerator |
---|
VIRTIO_INPUT_N_ERROR | |
Definition at line 42 of file node.c.
◆ fill_gso_buffer_flags()
◆ format_virtio_input_trace()
static u8* format_virtio_input_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
◆ virtio_device_input_gso_inline()
◆ virtio_device_input_inline()
◆ virtio_get_len()
◆ virtio_get_slot_id()
◆ virtio_input_node()
◆ virtio_n_left_to_process()
◆ virtio_needs_csum()
◆ virtio_refill_vring_packed()
◆ virtio_refill_vring_split()
◆ virtio_input_error_strings
char* virtio_input_error_strings[] |
|
static |
Initial value:= {
#define _(n,s)
}
#define foreach_virtio_input_error
Definition at line 50 of file node.c.
◆ virtio_input_node
Initial value:= {
.name = "virtio-input",
.sibling_of = "device-input",
.state = VLIB_NODE_STATE_INTERRUPT,
}
#define VLIB_NODE_FLAG_TRACE_SUPPORTED
static u8 * format_virtio_input_trace(u8 *s, va_list *args)
static char * virtio_input_error_strings[]
(constructor) VLIB_REGISTER_NODE (virtio_input_node)
Definition at line 670 of file node.c.