FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
node.c File Reference
+ Include dependency graph for node.c:

Go to the source code of this file.

Data Structures

struct  virtio_input_trace_t
 

Macros

#define foreach_virtio_input_error   _(UNKNOWN, "unknown")
 

Enumerations

enum  virtio_input_error_t { VIRTIO_INPUT_N_ERROR }
 

Functions

static u8format_virtio_input_trace (u8 *s, va_list *args)
 
static_always_inline void virtio_refill_vring (vlib_main_t *vm, virtio_if_t *vif, virtio_vring_t *vring, const int hdr_sz)
 
static_always_inline void virtio_needs_csum (vlib_buffer_t *b0, struct virtio_net_hdr_v1 *hdr, u8 *l4_proto, u8 *l4_hdr_sz)
 
static_always_inline void fill_gso_buffer_flags (vlib_buffer_t *b0, struct virtio_net_hdr_v1 *hdr, u8 l4_proto, u8 l4_hdr_sz)
 
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, int gso_enabled, int checksum_offload_enabled)
 
VLIB_NODE_FN() virtio_input_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 

Variables

static char * virtio_input_error_strings []
 
vlib_node_registration_t virtio_input_node
 (constructor) VLIB_REGISTER_NODE (virtio_input_node) More...
 

Macro Definition Documentation

◆ foreach_virtio_input_error

#define foreach_virtio_input_error   _(UNKNOWN, "unknown")

Definition at line 37 of file node.c.

Enumeration Type Documentation

◆ virtio_input_error_t

Enumerator
VIRTIO_INPUT_N_ERROR 

Definition at line 40 of file node.c.

Function Documentation

◆ fill_gso_buffer_flags()

static_always_inline void fill_gso_buffer_flags ( vlib_buffer_t b0,
struct virtio_net_hdr_v1 *  hdr,
u8  l4_proto,
u8  l4_hdr_sz 
)

Definition at line 223 of file node.c.

+ Here is the caller graph for this function:

◆ format_virtio_input_trace()

static u8* format_virtio_input_trace ( u8 s,
va_list *  args 
)
static

Definition at line 64 of file node.c.

+ Here is the call graph for this function:

◆ virtio_device_input_inline()

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,
int  gso_enabled,
int  checksum_offload_enabled 
)

Definition at line 243 of file node.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ virtio_input_node()

VLIB_NODE_FN() virtio_input_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)

Definition at line 383 of file node.c.

+ Here is the call graph for this function:

◆ virtio_needs_csum()

static_always_inline void virtio_needs_csum ( vlib_buffer_t b0,
struct virtio_net_hdr_v1 *  hdr,
u8 l4_proto,
u8 l4_hdr_sz 
)

Definition at line 145 of file node.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ virtio_refill_vring()

static_always_inline void virtio_refill_vring ( vlib_main_t vm,
virtio_if_t vif,
virtio_vring_t vring,
const int  hdr_sz 
)

Definition at line 82 of file node.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ virtio_input_error_strings

char* virtio_input_error_strings[]
static
Initial value:
= {
#define _(n,s)
}
#define foreach_virtio_input_error
Definition: node.c:37

Definition at line 48 of file node.c.

◆ virtio_input_node

vlib_node_registration_t virtio_input_node
Initial value:
= {
.name = "virtio-input",
.sibling_of = "device-input",
.format_trace = format_virtio_input_trace,
.state = VLIB_NODE_STATE_INTERRUPT,
.n_errors = VIRTIO_INPUT_N_ERROR,
.error_strings = virtio_input_error_strings,
}
#define VLIB_NODE_FLAG_TRACE_SUPPORTED
Definition: node.h:306
static u8 * format_virtio_input_trace(u8 *s, va_list *args)
Definition: node.c:64
static char * virtio_input_error_strings[]
Definition: node.c:48

(constructor) VLIB_REGISTER_NODE (virtio_input_node)

Definition at line 414 of file node.c.