FD.io VPP  v21.01.1
Vector Packet Processing
memory_api.c File Reference
+ Include dependency graph for memory_api.c:

Go to the source code of this file.

Macros

#define vl_typedefs   /* define message structures */
 
#define vl_print(handle, ...)   vlib_cli_output (handle, __VA_ARGS__)
 
#define vl_printfun
 
#define vl_endianfun
 
#define foreach_vlib_api_msg
 

Functions

static void * vl_api_memclnt_create_t_print (vl_api_memclnt_create_t *a, void *handle)
 
static void * vl_api_memclnt_delete_t_print (vl_api_memclnt_delete_t *a, void *handle)
 
static void memclnt_queue_callback (vlib_main_t *vm)
 
u32 vl_api_memclnt_create_internal (char *name, svm_queue_t *q)
 
void vl_api_memclnt_create_t_handler (vl_api_memclnt_create_t *mp)
 
void vl_api_call_reaper_functions (u32 client_index)
 
void vl_api_memclnt_delete_t_handler (vl_api_memclnt_delete_t *mp)
 
void vl_api_memclnt_keepalive_reply_t_handler (vl_api_memclnt_keepalive_reply_t *mp)
 client answered a ping, stave off the grim reaper... More...
 
static void vl_api_memclnt_keepalive_t_handler (vl_api_memclnt_keepalive_t *mp)
 We can send ourselves these messages if someone uses the builtin binary api test tool... More...
 
int vl_mem_api_init (const char *region_name)
 
clib_error_tmap_api_segment_init (vlib_main_t *vm)
 
static void send_memclnt_keepalive (vl_api_registration_t *regp, f64 now)
 
static void vl_mem_send_client_keepalive_w_reg (api_main_t *am, f64 now, vl_api_registration_t **regpp, u32 **dead_indices, u32 **confused_indices)
 
void vl_mem_api_dead_client_scan (api_main_t *am, vl_shmem_hdr_t *shm, f64 now)
 
static int void_mem_api_handle_msg_i (api_main_t *am, svm_region_t *vlib_rp, vlib_main_t *vm, vlib_node_runtime_t *node, u8 is_private)
 
int vl_mem_api_handle_msg_main (vlib_main_t *vm, vlib_node_runtime_t *node)
 
int vl_mem_api_handle_rpc (vlib_main_t *vm, vlib_node_runtime_t *node)
 
int vl_mem_api_handle_msg_private (vlib_main_t *vm, vlib_node_runtime_t *node, u32 reg_index)
 
vl_api_registration_tvl_mem_api_client_index_to_registration (u32 handle)
 
svm_queue_tvl_api_client_index_to_input_queue (u32 index)
 
static clib_error_tsetup_memclnt_exit (vlib_main_t *vm)
 
u8format_api_message_rings (u8 *s, va_list *args)
 
static clib_error_tvl_api_ring_command (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cli_cmd)
 
clib_error_tvlibmemory_init (vlib_main_t *vm)
 
void vl_set_memory_region_name (const char *name)
 

Variables

volatile int ** vl_api_queue_cursizes
 
static vlib_cli_command_t cli_show_api_ring_command
 (constructor) VLIB_CLI_COMMAND (cli_show_api_ring_command) More...
 

Macro Definition Documentation

◆ foreach_vlib_api_msg

#define foreach_vlib_api_msg
Value:
_(MEMCLNT_CREATE, memclnt_create, 1) \
_(MEMCLNT_DELETE, memclnt_delete, 1) \
_(MEMCLNT_KEEPALIVE, memclnt_keepalive, 0) \
_(MEMCLNT_KEEPALIVE_REPLY, memclnt_keepalive_reply, 0)

Definition at line 414 of file memory_api.c.

◆ vl_endianfun

#define vl_endianfun

Definition at line 37 of file memory_api.c.

◆ vl_print

#define vl_print (   handle,
  ... 
)    vlib_cli_output (handle, __VA_ARGS__)

Definition at line 31 of file memory_api.c.

◆ vl_printfun

#define vl_printfun

Definition at line 32 of file memory_api.c.

◆ vl_typedefs

#define vl_typedefs   /* define message structures */

Definition at line 26 of file memory_api.c.

Function Documentation

◆ format_api_message_rings()

u8* format_api_message_rings ( u8 s,
va_list *  args 
)

Definition at line 819 of file memory_api.c.

+ Here is the caller graph for this function:

◆ map_api_segment_init()

clib_error_t* map_api_segment_init ( vlib_main_t vm)

Definition at line 474 of file memory_api.c.

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

◆ memclnt_queue_callback()

static void memclnt_queue_callback ( vlib_main_t vm)
static

Definition at line 64 of file memory_api.c.

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

◆ send_memclnt_keepalive()

static void send_memclnt_keepalive ( vl_api_registration_t regp,
f64  now 
)
static

Definition at line 488 of file memory_api.c.

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

◆ setup_memclnt_exit()

static clib_error_t* setup_memclnt_exit ( vlib_main_t vm)
static

Definition at line 810 of file memory_api.c.

+ Here is the call graph for this function:

◆ vl_api_call_reaper_functions()

void vl_api_call_reaper_functions ( u32  client_index)

Definition at line 235 of file memory_api.c.

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

◆ vl_api_client_index_to_input_queue()

svm_queue_t* vl_api_client_index_to_input_queue ( u32  index)

Definition at line 794 of file memory_api.c.

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

◆ vl_api_memclnt_create_internal()

u32 vl_api_memclnt_create_internal ( char *  name,
svm_queue_t q 
)

Definition at line 120 of file memory_api.c.

+ Here is the call graph for this function:

◆ vl_api_memclnt_create_t_handler()

void vl_api_memclnt_create_t_handler ( vl_api_memclnt_create_t mp)

Definition at line 154 of file memory_api.c.

+ Here is the call graph for this function:

◆ vl_api_memclnt_create_t_print()

static void* vl_api_memclnt_create_t_print ( vl_api_memclnt_create_t a,
void *  handle 
)
inlinestatic

Definition at line 42 of file memory_api.c.

◆ vl_api_memclnt_delete_t_handler()

void vl_api_memclnt_delete_t_handler ( vl_api_memclnt_delete_t mp)

Definition at line 254 of file memory_api.c.

+ Here is the call graph for this function:

◆ vl_api_memclnt_delete_t_print()

static void* vl_api_memclnt_delete_t_print ( vl_api_memclnt_delete_t a,
void *  handle 
)
inlinestatic

Definition at line 53 of file memory_api.c.

◆ vl_api_memclnt_keepalive_reply_t_handler()

void vl_api_memclnt_keepalive_reply_t_handler ( vl_api_memclnt_keepalive_reply_t *  mp)

client answered a ping, stave off the grim reaper...

Definition at line 373 of file memory_api.c.

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

◆ vl_api_memclnt_keepalive_t_handler()

static void vl_api_memclnt_keepalive_t_handler ( vl_api_memclnt_keepalive_t mp)
static

We can send ourselves these messages if someone uses the builtin binary api test tool...

Definition at line 393 of file memory_api.c.

+ Here is the call graph for this function:

◆ vl_api_ring_command()

static clib_error_t* vl_api_ring_command ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cli_cmd 
)
static

Definition at line 862 of file memory_api.c.

+ Here is the call graph for this function:

◆ vl_mem_api_client_index_to_registration()

vl_api_registration_t* vl_mem_api_client_index_to_registration ( u32  handle)

Definition at line 765 of file memory_api.c.

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

◆ vl_mem_api_dead_client_scan()

void vl_mem_api_dead_client_scan ( api_main_t am,
vl_shmem_hdr_t shm,
f64  now 
)

Definition at line 576 of file memory_api.c.

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

◆ vl_mem_api_handle_msg_main()

int vl_mem_api_handle_msg_main ( vlib_main_t vm,
vlib_node_runtime_t node 
)

Definition at line 704 of file memory_api.c.

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

◆ vl_mem_api_handle_msg_private()

int vl_mem_api_handle_msg_private ( vlib_main_t vm,
vlib_node_runtime_t node,
u32  reg_index 
)

Definition at line 756 of file memory_api.c.

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

◆ vl_mem_api_handle_rpc()

int vl_mem_api_handle_rpc ( vlib_main_t vm,
vlib_node_runtime_t node 
)

Definition at line 712 of file memory_api.c.

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

◆ vl_mem_api_init()

int vl_mem_api_init ( const char *  region_name)

Definition at line 424 of file memory_api.c.

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

◆ vl_mem_send_client_keepalive_w_reg()

static void vl_mem_send_client_keepalive_w_reg ( api_main_t am,
f64  now,
vl_api_registration_t **  regpp,
u32 **  dead_indices,
u32 **  confused_indices 
)
static

Definition at line 532 of file memory_api.c.

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

◆ vl_set_memory_region_name()

void vl_set_memory_region_name ( const char *  name)

Definition at line 980 of file memory_api.c.

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

◆ vlibmemory_init()

clib_error_t* vlibmemory_init ( vlib_main_t vm)

Definition at line 931 of file memory_api.c.

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

◆ void_mem_api_handle_msg_i()

static int void_mem_api_handle_msg_i ( api_main_t am,
svm_region_t vlib_rp,
vlib_main_t vm,
vlib_node_runtime_t node,
u8  is_private 
)
inlinestatic

Definition at line 684 of file memory_api.c.

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

Variable Documentation

◆ cli_show_api_ring_command

vlib_cli_command_t cli_show_api_ring_command
static
Initial value:
=
{
.path = "show api ring-stats",
.short_help = "Message ring statistics",
.function = vl_api_ring_command,
}
static clib_error_t * vl_api_ring_command(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cli_cmd)
Definition: memory_api.c:862

(constructor) VLIB_CLI_COMMAND (cli_show_api_ring_command)

Definition at line 922 of file memory_api.c.

◆ vl_api_queue_cursizes

volatile int** vl_api_queue_cursizes

Definition at line 61 of file memory_api.c.