FD.io VPP  v16.12-rc0-308-g931be3a
Vector Packet Processing
api.h File Reference
+ Include dependency graph for api.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ring_alloc_
 
struct  vl_shmem_hdr_
 
struct  msgbuf_
 

Macros

#define foreach_vl_aring_size
 
#define foreach_clnt_aring_size
 
#define VL_SHM_VERSION   2
 
#define VL_API_EPOCH_MASK   0xFF
 
#define VL_API_EPOCH_SHIFT   8
 

Typedefs

typedef struct ring_alloc_ ring_alloc_t
 
typedef struct vl_shmem_hdr_ vl_shmem_hdr_t
 
typedef struct msgbuf_ msgbuf_t
 

Functions

static u32 vl_msg_api_handle_get_epoch (u32 index)
 
static u32 vl_msg_api_handle_get_index (u32 index)
 
static u32 vl_msg_api_handle_from_index_and_epoch (u32 index, u32 epoch)
 
void * vl_msg_api_alloc (int nbytes)
 
void * vl_msg_api_alloc_or_null (int nbytes)
 
void * vl_msg_api_alloc_as_if_client (int nbytes)
 
void * vl_msg_api_alloc_as_if_client_or_null (int nbytes)
 
void vl_msg_api_free (void *a)
 
int vl_map_shmem (char *region_name, int is_vlib)
 
void vl_register_mapped_shmem_region (svm_region_t *rp)
 
void vl_unmap_shmem (void)
 
void vl_msg_api_send_shmem (unix_shared_memory_queue_t *q, u8 *elem)
 
void vl_msg_api_send_shmem_nolock (unix_shared_memory_queue_t *q, u8 *elem)
 
void vl_msg_api_send (vl_api_registration_t *rp, u8 *elem)
 
int vl_client_connect (char *name, int ctx_quota, int input_queue_size)
 
void vl_client_disconnect (void)
 
unix_shared_memory_queue_tvl_api_client_index_to_input_queue (u32 index)
 
vl_api_registration_tvl_api_client_index_to_registration (u32 index)
 
int vl_client_api_map (char *region_name)
 
void vl_client_api_unmap (void)
 
void vl_set_memory_region_name (char *name)
 
void vl_set_memory_root_path (char *root_path)
 
void vl_set_memory_uid (int uid)
 
void vl_set_memory_gid (int gid)
 
void vl_set_global_memory_baseva (u64 baseva)
 
void vl_set_global_memory_size (u64 size)
 
void vl_set_api_memory_size (u64 size)
 
void vl_set_global_pvt_heap_size (u64 size)
 
void vl_set_api_pvt_heap_size (u64 size)
 
void vl_enable_disable_memory_api (vlib_main_t *vm, int yesno)
 
void vl_client_disconnect_from_vlib (void)
 
int vl_client_connect_to_vlib (char *svm_name, char *client_name, int rx_queue_size)
 
int vl_client_connect_to_vlib_no_rx_pthread (char *svm_name, char *client_name, int rx_queue_size)
 
u16 vl_client_get_first_plugin_msg_id (char *plugin_name)
 
void vl_api_rpc_call_main_thread (void *fp, u8 *data, u32 data_length)
 

Macro Definition Documentation

#define foreach_clnt_aring_size
Value:
_(1024+8, 1024) \
_(2048+8, 128) \
_(4096+8, 8)

Definition at line 60 of file api.h.

#define foreach_vl_aring_size
Value:
_(64+8, 1024) \
_(256+8, 128) \
_(1024+8, 64)

Definition at line 55 of file api.h.

#define VL_API_EPOCH_MASK   0xFF

Definition at line 101 of file api.h.

#define VL_API_EPOCH_SHIFT   8

Definition at line 102 of file api.h.

#define VL_SHM_VERSION   2

Definition at line 99 of file api.h.

Typedef Documentation

typedef struct msgbuf_ msgbuf_t
typedef struct ring_alloc_ ring_alloc_t
typedef struct vl_shmem_hdr_ vl_shmem_hdr_t

Function Documentation

unix_shared_memory_queue_t* vl_api_client_index_to_input_queue ( u32  index)

Definition at line 769 of file memory_shared.c.

+ Here is the call graph for this function:

vl_api_registration_t* vl_api_client_index_to_registration ( u32  index)

Definition at line 763 of file memory_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vl_api_rpc_call_main_thread ( void *  fp,
u8 data,
u32  data_length 
)

Definition at line 1364 of file memory_vlib.c.

+ Here is the caller graph for this function:

int vl_client_api_map ( char *  region_name)

Definition at line 784 of file memory_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vl_client_api_unmap ( void  )

Definition at line 804 of file memory_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 569 of file memory_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 159 of file memory_client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 167 of file memory_client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vl_client_disconnect ( void  )

Definition at line 678 of file memory_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vl_client_disconnect_from_vlib ( void  )

Definition at line 175 of file memory_client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u16 vl_client_get_first_plugin_msg_id ( char *  plugin_name)

Definition at line 208 of file memory_client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vl_enable_disable_memory_api ( vlib_main_t vm,
int  yesno 
)

Definition at line 713 of file memory_vlib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vl_map_shmem ( char *  region_name,
int  is_vlib 
)

Definition at line 303 of file memory_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* vl_msg_api_alloc ( int  nbytes)

Definition at line 151 of file memory_shared.c.

+ Here is the call graph for this function:

void* vl_msg_api_alloc_as_if_client ( int  nbytes)

Definition at line 176 of file memory_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* vl_msg_api_alloc_as_if_client_or_null ( int  nbytes)

Definition at line 182 of file memory_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* vl_msg_api_alloc_or_null ( int  nbytes)

Definition at line 165 of file memory_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vl_msg_api_free ( void *  a)

Definition at line 188 of file memory_shared.c.

static u32 vl_msg_api_handle_from_index_and_epoch ( u32  index,
u32  epoch 
)
inlinestatic

Definition at line 117 of file api.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u32 vl_msg_api_handle_get_epoch ( u32  index)
inlinestatic

Definition at line 105 of file api.h.

+ Here is the caller graph for this function:

static u32 vl_msg_api_handle_get_index ( u32  index)
inlinestatic

Definition at line 111 of file api.h.

+ Here is the caller graph for this function:

void vl_msg_api_send ( vl_api_registration_t rp,
u8 elem 
)

Definition at line 91 of file memory_vlib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vl_msg_api_send_shmem ( unix_shared_memory_queue_t q,
u8 elem 
)

Definition at line 518 of file memory_shared.c.

+ Here is the call graph for this function:

void vl_msg_api_send_shmem_nolock ( unix_shared_memory_queue_t q,
u8 elem 
)

Definition at line 530 of file memory_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vl_register_mapped_shmem_region ( svm_region_t rp)

Definition at line 484 of file memory_shared.c.

+ Here is the caller graph for this function:

void vl_set_api_memory_size ( u64  size)

Definition at line 279 of file memory_shared.c.

+ Here is the caller graph for this function:

void vl_set_api_pvt_heap_size ( u64  size)

Definition at line 295 of file memory_shared.c.

+ Here is the caller graph for this function:

void vl_set_global_memory_baseva ( u64  baseva)

Definition at line 263 of file memory_shared.c.

+ Here is the caller graph for this function:

void vl_set_global_memory_size ( u64  size)

Definition at line 271 of file memory_shared.c.

+ Here is the caller graph for this function:

void vl_set_global_pvt_heap_size ( u64  size)

Definition at line 287 of file memory_shared.c.

+ Here is the caller graph for this function:

void vl_set_memory_gid ( int  gid)

Definition at line 255 of file memory_shared.c.

+ Here is the caller graph for this function:

void vl_set_memory_region_name ( char *  name)

Definition at line 1244 of file memory_vlib.c.

+ Here is the caller graph for this function:

void vl_set_memory_root_path ( char *  root_path)

Definition at line 239 of file memory_shared.c.

+ Here is the caller graph for this function:

void vl_set_memory_uid ( int  uid)

Definition at line 247 of file memory_shared.c.

+ Here is the caller graph for this function:

void vl_unmap_shmem ( void  )

Definition at line 492 of file memory_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function: