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

Go to the source code of this file.

Data Structures

struct  rx_thread_fn_arg
 

Macros

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

Typedefs

typedef struct rx_thread_fn_arg rx_thread_fn_arg_t
 

Functions

static void * rx_thread_fn (void *arg)
 
static void vl_api_rx_thread_exit_t_handler (vl_api_rx_thread_exit_t *mp)
 
static void vl_api_name_and_crc_free (void)
 
static CLIB_NOSANITIZE_ADDR void VL_API_VEC_UNPOISON (const void *v)
 
static void vl_api_memclnt_create_reply_t_handler (vl_api_memclnt_create_reply_t *mp)
 
static void noop_handler (void *notused)
 
void vl_msg_api_send_shmem (svm_queue_t *q, u8 *elem)
 
int vl_client_connect (const char *name, int ctx_quota, int input_queue_size)
 
static void vl_api_memclnt_delete_reply_t_handler (vl_api_memclnt_delete_reply_t *mp)
 
void vl_client_send_disconnect (u8 do_cleanup)
 
int vl_client_disconnect (void)
 
static void vl_api_memclnt_keepalive_t_handler (vl_api_memclnt_keepalive_t *mp)
 Stave off the binary API dead client reaper Only sent to inactive clients. More...
 
void vl_client_install_client_message_handlers (void)
 
int vl_client_api_map (const char *region_name)
 
void vl_client_api_unmap (void)
 
u8 vl_mem_client_is_connected (void)
 
static int connect_to_vlib_internal (const char *svm_name, const char *client_name, int rx_queue_size, void *(*thread_fn)(void *), void *thread_fn_arg, int do_map)
 
int vl_client_connect_to_vlib (const char *svm_name, const char *client_name, int rx_queue_size)
 
int vl_client_connect_to_vlib_no_rx_pthread (const char *svm_name, const char *client_name, int rx_queue_size)
 
int vl_client_connect_to_vlib_no_map (const char *svm_name, const char *client_name, int rx_queue_size)
 
int vl_client_connect_to_vlib_no_rx_pthread_no_map (const char *svm_name, const char *client_name, int rx_queue_size)
 
int vl_client_connect_to_vlib_thread_fn (const char *svm_name, const char *client_name, int rx_queue_size, void *(*thread_fn)(void *), void *arg)
 
static void disconnect_from_vlib_internal (u8 do_unmap)
 
void vl_client_disconnect_from_vlib (void)
 
void vl_client_disconnect_from_vlib_no_unmap (void)
 
static void vl_api_get_first_msg_id_reply_t_handler (vl_api_get_first_msg_id_reply_t *mp)
 
u16 vl_client_get_first_plugin_msg_id (const char *plugin_name)
 

Variables

memory_client_main_t memory_client_main
 
__thread memory_client_main_tmy_memory_client_main = &memory_client_main
 

Macro Definition Documentation

◆ foreach_api_msg

#define foreach_api_msg
Value:
_(RX_THREAD_EXIT, rx_thread_exit) \
_(MEMCLNT_CREATE_REPLY, memclnt_create_reply) \
_(MEMCLNT_DELETE_REPLY, memclnt_delete_reply) \
_(MEMCLNT_KEEPALIVE, memclnt_keepalive)

Definition at line 356 of file memory_client.c.

◆ vl_endianfun

#define vl_endianfun   /* define message structures */

Definition at line 38 of file memory_client.c.

◆ vl_print

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

Definition at line 43 of file memory_client.c.

◆ vl_printfun

#define vl_printfun

Definition at line 44 of file memory_client.c.

◆ vl_typedefs

#define vl_typedefs   /* define message structures */

Definition at line 34 of file memory_client.c.

Typedef Documentation

◆ rx_thread_fn_arg_t

Function Documentation

◆ connect_to_vlib_internal()

static int connect_to_vlib_internal ( const char *  svm_name,
const char *  client_name,
int  rx_queue_size,
void *(*)(void *)  thread_fn,
void *  thread_fn_arg,
int  do_map 
)
static

Definition at line 402 of file memory_client.c.

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

◆ disconnect_from_vlib_internal()

static void disconnect_from_vlib_internal ( u8  do_unmap)
static

Definition at line 506 of file memory_client.c.

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

◆ noop_handler()

static void noop_handler ( void *  notused)
static

Definition at line 155 of file memory_client.c.

+ Here is the call graph for this function:

◆ rx_thread_fn()

static void* rx_thread_fn ( void *  arg)
static

Definition at line 58 of file memory_client.c.

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

◆ vl_api_get_first_msg_id_reply_t_handler()

static void vl_api_get_first_msg_id_reply_t_handler ( vl_api_get_first_msg_id_reply_t mp)
static

Definition at line 542 of file memory_client.c.

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

◆ vl_api_memclnt_create_reply_t_handler()

static void vl_api_memclnt_create_reply_t_handler ( vl_api_memclnt_create_reply_t mp)
static

Definition at line 121 of file memory_client.c.

+ Here is the call graph for this function:

◆ vl_api_memclnt_delete_reply_t_handler()

static void vl_api_memclnt_delete_reply_t_handler ( vl_api_memclnt_delete_reply_t mp)
static

Definition at line 250 of file memory_client.c.

+ Here is the call 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

Stave off the binary API dead client reaper Only sent to inactive clients.

Definition at line 340 of file memory_client.c.

+ Here is the call graph for this function:

◆ vl_api_name_and_crc_free()

static void vl_api_name_and_crc_free ( void  )
static

Definition at line 91 of file memory_client.c.

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

◆ vl_api_rx_thread_exit_t_handler()

static void vl_api_rx_thread_exit_t_handler ( vl_api_rx_thread_exit_t mp)
static

Definition at line 83 of file memory_client.c.

+ Here is the call graph for this function:

◆ VL_API_VEC_UNPOISON()

static CLIB_NOSANITIZE_ADDR void VL_API_VEC_UNPOISON ( const void *  v)
static

Definition at line 114 of file memory_client.c.

+ Here is the caller graph for this function:

◆ vl_client_api_map()

int vl_client_api_map ( const char *  region_name)

Definition at line 378 of file memory_client.c.

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

◆ vl_client_api_unmap()

void vl_client_api_unmap ( void  )

Definition at line 390 of file memory_client.c.

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

◆ vl_client_connect()

int vl_client_connect ( const char *  name,
int  ctx_quota,
int  input_queue_size 
)

Definition at line 161 of file memory_client.c.

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

◆ vl_client_connect_to_vlib()

int vl_client_connect_to_vlib ( const char *  svm_name,
const char *  client_name,
int  rx_queue_size 
)

Definition at line 455 of file memory_client.c.

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

◆ vl_client_connect_to_vlib_no_map()

int vl_client_connect_to_vlib_no_map ( const char *  svm_name,
const char *  client_name,
int  rx_queue_size 
)

Definition at line 475 of file memory_client.c.

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

◆ vl_client_connect_to_vlib_no_rx_pthread()

int vl_client_connect_to_vlib_no_rx_pthread ( const char *  svm_name,
const char *  client_name,
int  rx_queue_size 
)

Definition at line 464 of file memory_client.c.

+ Here is the call graph for this function:

◆ vl_client_connect_to_vlib_no_rx_pthread_no_map()

int vl_client_connect_to_vlib_no_rx_pthread_no_map ( const char *  svm_name,
const char *  client_name,
int  rx_queue_size 
)

Definition at line 484 of file memory_client.c.

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

◆ vl_client_connect_to_vlib_thread_fn()

int vl_client_connect_to_vlib_thread_fn ( const char *  svm_name,
const char *  client_name,
int  rx_queue_size,
void *(*)(void *)  thread_fn,
void *  arg 
)

Definition at line 495 of file memory_client.c.

+ Here is the call graph for this function:

◆ vl_client_disconnect()

int vl_client_disconnect ( void  )

Definition at line 286 of file memory_client.c.

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

◆ vl_client_disconnect_from_vlib()

void vl_client_disconnect_from_vlib ( void  )

Definition at line 530 of file memory_client.c.

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

◆ vl_client_disconnect_from_vlib_no_unmap()

void vl_client_disconnect_from_vlib_no_unmap ( void  )

Definition at line 536 of file memory_client.c.

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

◆ vl_client_get_first_plugin_msg_id()

u16 vl_client_get_first_plugin_msg_id ( const char *  plugin_name)

Definition at line 552 of file memory_client.c.

+ Here is the call graph for this function:

◆ vl_client_install_client_message_handlers()

void vl_client_install_client_message_handlers ( void  )

Definition at line 363 of file memory_client.c.

+ Here is the caller graph for this function:

◆ vl_client_send_disconnect()

void vl_client_send_disconnect ( u8  do_cleanup)

Definition at line 265 of file memory_client.c.

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

◆ vl_mem_client_is_connected()

u8 vl_mem_client_is_connected ( void  )

Definition at line 396 of file memory_client.c.

+ Here is the caller graph for this function:

◆ vl_msg_api_send_shmem()

void vl_msg_api_send_shmem ( svm_queue_t q,
u8 elem 
)

Definition at line 753 of file memory_shared.c.

+ Here is the caller graph for this function:

Variable Documentation

◆ memory_client_main

memory_client_main_t memory_client_main

Definition at line 48 of file memory_client.c.

◆ my_memory_client_main

__thread memory_client_main_t* my_memory_client_main = &memory_client_main

Definition at line 49 of file memory_client.c.