FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
vhost_user_inline.h File Reference
+ Include dependency graph for vhost_user_inline.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define VHOST_LOG_PAGE   0x1000
 
#define vhost_user_log_dirty_ring(vui, vq, member)
 

Functions

static_always_inline void * map_guest_mem (vhost_user_intf_t *vui, uword addr, u32 *hint)
 
static_always_inline void * map_user_mem (vhost_user_intf_t *vui, uword addr)
 
static_always_inline void vhost_user_log_dirty_pages_2 (vhost_user_intf_t *vui, u64 addr, u64 len, u8 is_host_address)
 
static_always_inline u8format_vhost_trace (u8 *s, va_list *va)
 
static_always_inline u64 vhost_user_is_packed_ring_supported (vhost_user_intf_t *vui)
 
static_always_inline u64 vhost_user_is_event_idx_supported (vhost_user_intf_t *vui)
 
static_always_inline void vhost_user_kick (vlib_main_t *vm, vhost_user_vring_t *vq)
 
static_always_inline u16 vhost_user_avail_event_idx (vhost_user_vring_t *vq)
 
static_always_inline u16 vhost_user_used_event_idx (vhost_user_vring_t *vq)
 
static_always_inline u16 vhost_user_need_event (u16 event_idx, u16 new_idx, u16 old_idx)
 
static_always_inline void vhost_user_send_call_event_idx (vlib_main_t *vm, vhost_user_vring_t *vq)
 
static_always_inline void vhost_user_send_call_event_idx_packed (vlib_main_t *vm, vhost_user_vring_t *vq)
 
static_always_inline void vhost_user_send_call (vlib_main_t *vm, vhost_user_intf_t *vui, vhost_user_vring_t *vq)
 
static_always_inline u8 vui_is_link_up (vhost_user_intf_t *vui)
 
static_always_inline void vhost_user_update_gso_interface_count (vhost_user_intf_t *vui, u8 add)
 
static_always_inline u8 vhost_user_packed_desc_available (vhost_user_vring_t *vring, u16 idx)
 
static_always_inline void vhost_user_advance_last_avail_idx (vhost_user_vring_t *vring)
 
static_always_inline void vhost_user_advance_last_avail_table_idx (vhost_user_intf_t *vui, vhost_user_vring_t *vring, u8 chained)
 
static_always_inline void vhost_user_undo_advanced_last_avail_idx (vhost_user_vring_t *vring)
 
static_always_inline void vhost_user_dequeue_descs (vhost_user_vring_t *rxvq, virtio_net_hdr_mrg_rxbuf_t *hdr, u16 *n_descs_processed)
 
static_always_inline void vhost_user_dequeue_chained_descs (vhost_user_vring_t *rxvq, u16 *n_descs_processed)
 
static_always_inline void vhost_user_advance_last_used_idx (vhost_user_vring_t *vring)
 

Macro Definition Documentation

◆ VHOST_LOG_PAGE

#define VHOST_LOG_PAGE   0x1000

Definition at line 172 of file vhost_user_inline.h.

◆ vhost_user_log_dirty_ring

#define vhost_user_log_dirty_ring (   vui,
  vq,
  member 
)
Value:
if (PREDICT_FALSE(vq->log_used)) { \
vhost_user_log_dirty_pages_2(vui, vq->log_guest_addr + STRUCT_OFFSET_OF(vring_used_t, member), \
sizeof(vq->used->member), 0); \
}

Definition at line 203 of file vhost_user_inline.h.

Function Documentation

◆ format_vhost_trace()

static_always_inline u8* format_vhost_trace ( u8 s,
va_list *  va 
)

Definition at line 210 of file vhost_user_inline.h.

+ Here is the call graph for this function:

◆ map_guest_mem()

static_always_inline void* map_guest_mem ( vhost_user_intf_t vui,
uword  addr,
u32 hint 
)

Definition at line 21 of file vhost_user_inline.h.

+ Here is the caller graph for this function:

◆ map_user_mem()

static_always_inline void* map_user_mem ( vhost_user_intf_t vui,
uword  addr 
)

Definition at line 156 of file vhost_user_inline.h.

+ Here is the caller graph for this function:

◆ vhost_user_advance_last_avail_idx()

static_always_inline void vhost_user_advance_last_avail_idx ( vhost_user_vring_t vring)

Definition at line 411 of file vhost_user_inline.h.

+ Here is the caller graph for this function:

◆ vhost_user_advance_last_avail_table_idx()

static_always_inline void vhost_user_advance_last_avail_table_idx ( vhost_user_intf_t vui,
vhost_user_vring_t vring,
u8  chained 
)

Definition at line 422 of file vhost_user_inline.h.

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

◆ vhost_user_advance_last_used_idx()

static_always_inline void vhost_user_advance_last_used_idx ( vhost_user_vring_t vring)

Definition at line 475 of file vhost_user_inline.h.

+ Here is the caller graph for this function:

◆ vhost_user_avail_event_idx()

static_always_inline u16 vhost_user_avail_event_idx ( vhost_user_vring_t vq)

Definition at line 284 of file vhost_user_inline.h.

+ Here is the caller graph for this function:

◆ vhost_user_dequeue_chained_descs()

static_always_inline void vhost_user_dequeue_chained_descs ( vhost_user_vring_t rxvq,
u16 n_descs_processed 
)

Definition at line 464 of file vhost_user_inline.h.

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

◆ vhost_user_dequeue_descs()

static_always_inline void vhost_user_dequeue_descs ( vhost_user_vring_t rxvq,
virtio_net_hdr_mrg_rxbuf_t *  hdr,
u16 n_descs_processed 
)

Definition at line 452 of file vhost_user_inline.h.

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

◆ vhost_user_is_event_idx_supported()

static_always_inline u64 vhost_user_is_event_idx_supported ( vhost_user_intf_t vui)

Definition at line 258 of file vhost_user_inline.h.

+ Here is the caller graph for this function:

◆ vhost_user_is_packed_ring_supported()

static_always_inline u64 vhost_user_is_packed_ring_supported ( vhost_user_intf_t vui)

Definition at line 252 of file vhost_user_inline.h.

+ Here is the caller graph for this function:

◆ vhost_user_kick()

static_always_inline void vhost_user_kick ( vlib_main_t vm,
vhost_user_vring_t vq 
)

Definition at line 264 of file vhost_user_inline.h.

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

◆ vhost_user_log_dirty_pages_2()

static_always_inline void vhost_user_log_dirty_pages_2 ( vhost_user_intf_t vui,
u64  addr,
u64  len,
u8  is_host_address 
)

Definition at line 175 of file vhost_user_inline.h.

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

◆ vhost_user_need_event()

static_always_inline u16 vhost_user_need_event ( u16  event_idx,
u16  new_idx,
u16  old_idx 
)

Definition at line 300 of file vhost_user_inline.h.

+ Here is the caller graph for this function:

◆ vhost_user_packed_desc_available()

static_always_inline u8 vhost_user_packed_desc_available ( vhost_user_vring_t vring,
u16  idx 
)

Definition at line 404 of file vhost_user_inline.h.

+ Here is the caller graph for this function:

◆ vhost_user_send_call()

static_always_inline void vhost_user_send_call ( vlib_main_t vm,
vhost_user_intf_t vui,
vhost_user_vring_t vq 
)

Definition at line 364 of file vhost_user_inline.h.

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

◆ vhost_user_send_call_event_idx()

static_always_inline void vhost_user_send_call_event_idx ( vlib_main_t vm,
vhost_user_vring_t vq 
)

Definition at line 306 of file vhost_user_inline.h.

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

◆ vhost_user_send_call_event_idx_packed()

static_always_inline void vhost_user_send_call_event_idx_packed ( vlib_main_t vm,
vhost_user_vring_t vq 
)

Definition at line 327 of file vhost_user_inline.h.

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

◆ vhost_user_undo_advanced_last_avail_idx()

static_always_inline void vhost_user_undo_advanced_last_avail_idx ( vhost_user_vring_t vring)

Definition at line 440 of file vhost_user_inline.h.

+ Here is the caller graph for this function:

◆ vhost_user_update_gso_interface_count()

static_always_inline void vhost_user_update_gso_interface_count ( vhost_user_intf_t vui,
u8  add 
)

Definition at line 385 of file vhost_user_inline.h.

+ Here is the caller graph for this function:

◆ vhost_user_used_event_idx()

static_always_inline u16 vhost_user_used_event_idx ( vhost_user_vring_t vq)

Definition at line 292 of file vhost_user_inline.h.

+ Here is the caller graph for this function:

◆ vui_is_link_up()

static_always_inline u8 vui_is_link_up ( vhost_user_intf_t vui)

Definition at line 379 of file vhost_user_inline.h.

+ Here is the caller graph for this function:
STRUCT_OFFSET_OF
#define STRUCT_OFFSET_OF(t, f)
Definition: clib.h:73
PREDICT_FALSE
#define PREDICT_FALSE(x)
Definition: clib.h:124
vring_used_t
Definition: virtio_std.h:115