FD.io VPP  v21.01.1
Vector Packet Processing
virtio_buffering.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  virtio_vring_buffering_t
 

Macros

#define VIRTIO_BUFFERING_DEFAULT_SIZE   1024
 
#define VIRTIO_BUFFERING_TIMEOUT   1e-5
 

Functions

static_always_inline clib_error_tvirtio_vring_buffering_init (virtio_vring_buffering_t **buffering, u32 node_index, u16 size)
 
static_always_inline void virtio_vring_buffering_buffers_free (vlib_main_t *vm, virtio_vring_buffering_t *buffering)
 
static_always_inline void virtio_vring_buffering_free (vlib_main_t *vm, virtio_vring_buffering_t *buffering)
 
static_always_inline u8 virtio_vring_buffering_is_enable (virtio_vring_buffering_t *buffering)
 
static_always_inline void virtio_vring_buffering_set_is_enable (virtio_vring_buffering_t *buffering, u8 is_enable)
 
static_always_inline void virtio_vring_buffering_set_timeout (vlib_main_t *vm, virtio_vring_buffering_t *buffering, f64 timeout_expire)
 
static_always_inline u8 virtio_vring_buffering_is_timeout (vlib_main_t *vm, virtio_vring_buffering_t *buffering)
 
static_always_inline u8 virtio_vring_buffering_is_empty (virtio_vring_buffering_t *buffering)
 
static_always_inline u8 virtio_vring_buffering_is_full (virtio_vring_buffering_t *buffering)
 
static_always_inline u16 virtio_vring_n_buffers (virtio_vring_buffering_t *buffering)
 
static_always_inline u16 virtio_vring_buffering_store_packets (virtio_vring_buffering_t *buffering, u32 *bi, u16 n_store)
 
static_always_inline u32 virtio_vring_buffering_read_from_front (virtio_vring_buffering_t *buffering)
 
static_always_inline u32 virtio_vring_buffering_read_from_back (virtio_vring_buffering_t *buffering)
 
static_always_inline void virtio_vring_buffering_schedule_node_on_dispatcher (vlib_main_t *vm, virtio_vring_buffering_t *buffering)
 
static_always_inline u8virtio_vring_buffering_format (u8 *s, va_list *args)
 

Macro Definition Documentation

◆ VIRTIO_BUFFERING_DEFAULT_SIZE

#define VIRTIO_BUFFERING_DEFAULT_SIZE   1024

Definition at line 21 of file virtio_buffering.h.

◆ VIRTIO_BUFFERING_TIMEOUT

#define VIRTIO_BUFFERING_TIMEOUT   1e-5

Definition at line 22 of file virtio_buffering.h.

Function Documentation

◆ virtio_vring_buffering_buffers_free()

static_always_inline void virtio_vring_buffering_buffers_free ( vlib_main_t vm,
virtio_vring_buffering_t buffering 
)

Definition at line 73 of file virtio_buffering.h.

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

◆ virtio_vring_buffering_format()

static_always_inline u8* virtio_vring_buffering_format ( u8 s,
va_list *  args 
)

Definition at line 226 of file virtio_buffering.h.

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

◆ virtio_vring_buffering_free()

static_always_inline void virtio_vring_buffering_free ( vlib_main_t vm,
virtio_vring_buffering_t buffering 
)

Definition at line 86 of file virtio_buffering.h.

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

◆ virtio_vring_buffering_init()

static_always_inline clib_error_t* virtio_vring_buffering_init ( virtio_vring_buffering_t **  buffering,
u32  node_index,
u16  size 
)

Definition at line 37 of file virtio_buffering.h.

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

◆ virtio_vring_buffering_is_empty()

static_always_inline u8 virtio_vring_buffering_is_empty ( virtio_vring_buffering_t buffering)

Definition at line 133 of file virtio_buffering.h.

+ Here is the caller graph for this function:

◆ virtio_vring_buffering_is_enable()

static_always_inline u8 virtio_vring_buffering_is_enable ( virtio_vring_buffering_t buffering)

Definition at line 98 of file virtio_buffering.h.

+ Here is the caller graph for this function:

◆ virtio_vring_buffering_is_full()

static_always_inline u8 virtio_vring_buffering_is_full ( virtio_vring_buffering_t buffering)

Definition at line 141 of file virtio_buffering.h.

+ Here is the caller graph for this function:

◆ virtio_vring_buffering_is_timeout()

static_always_inline u8 virtio_vring_buffering_is_timeout ( vlib_main_t vm,
virtio_vring_buffering_t buffering 
)

Definition at line 124 of file virtio_buffering.h.

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

◆ virtio_vring_buffering_read_from_back()

static_always_inline u32 virtio_vring_buffering_read_from_back ( virtio_vring_buffering_t buffering)

Definition at line 193 of file virtio_buffering.h.

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

◆ virtio_vring_buffering_read_from_front()

static_always_inline u32 virtio_vring_buffering_read_from_front ( virtio_vring_buffering_t buffering)

Definition at line 178 of file virtio_buffering.h.

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

◆ virtio_vring_buffering_schedule_node_on_dispatcher()

static_always_inline void virtio_vring_buffering_schedule_node_on_dispatcher ( vlib_main_t vm,
virtio_vring_buffering_t buffering 
)

Definition at line 208 of file virtio_buffering.h.

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

◆ virtio_vring_buffering_set_is_enable()

static_always_inline void virtio_vring_buffering_set_is_enable ( virtio_vring_buffering_t buffering,
u8  is_enable 
)

Definition at line 107 of file virtio_buffering.h.

◆ virtio_vring_buffering_set_timeout()

static_always_inline void virtio_vring_buffering_set_timeout ( vlib_main_t vm,
virtio_vring_buffering_t buffering,
f64  timeout_expire 
)

Definition at line 115 of file virtio_buffering.h.

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

◆ virtio_vring_buffering_store_packets()

static_always_inline u16 virtio_vring_buffering_store_packets ( virtio_vring_buffering_t buffering,
u32 bi,
u16  n_store 
)

Definition at line 155 of file virtio_buffering.h.

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

◆ virtio_vring_n_buffers()

static_always_inline u16 virtio_vring_n_buffers ( virtio_vring_buffering_t buffering)

Definition at line 149 of file virtio_buffering.h.

+ Here is the caller graph for this function: