FD.io VPP  v18.07-34-g55fbdb9
Vector Packet Processing
api_common.h File Reference
+ Include dependency graph for api_common.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  vl_api_registration_
 An API client registration, only in vpp/vlib. More...
 
struct  trace_cfg_t
 Trace configuration for a single message. More...
 
struct  vl_api_trace_t
 API trace state. More...
 
struct  vl_api_msg_range_t
 Message range (belonging to a plugin) More...
 
struct  vl_msg_api_msg_config_t
 Message configuration definition. More...
 
struct  msgbuf_
 Message header structure. More...
 
struct  api_version_t
 
struct  api_main_t
 API main structure, used by both vpp and binary API clients. More...
 

Macros

#define VL_API_INVALID_FI   ((u32)~0)
 
#define VL_API_LITTLE_ENDIAN   0x00
 
#define VL_API_BIG_ENDIAN   0x01
 
#define vl_msg_api_barrier_trace_context(X)
 

Typedefs

typedef struct vl_api_registration_ vl_api_registration_t
 An API client registration, only in vpp/vlib. More...
 
typedef struct msgbuf_ msgbuf_t
 Message header structure. More...
 
typedef clib_error_t *( vl_msg_api_init_function_t) (u32 client_index)
 

Enumerations

enum  vl_registration_type_t {
  REGISTRATION_TYPE_FREE = 0, REGISTRATION_TYPE_SHMEM, REGISTRATION_TYPE_SOCKET_LISTEN, REGISTRATION_TYPE_SOCKET_SERVER,
  REGISTRATION_TYPE_SOCKET_CLIENT
}
 API registration types. More...
 
enum  vl_api_trace_which_t { VL_API_TRACE_TX, VL_API_TRACE_RX }
 Trace RX / TX enum. More...
 

Functions

void vl_msg_api_handler (void *the_msg)
 
void vl_msg_api_handler_no_free (void *the_msg)
 
void vl_msg_api_handler_no_trace_no_free (void *the_msg)
 
void vl_msg_api_trace_only (void *the_msg)
 
void vl_msg_api_cleanup_handler (void *the_msg)
 
void vl_msg_api_replay_handler (void *the_msg)
 
void vl_msg_api_socket_handler (void *the_msg)
 
void vl_msg_api_set_handlers (int msg_id, char *msg_name, void *handler, void *cleanup, void *endian, void *print, int msg_size, int traced)
 
void vl_msg_api_clean_handlers (int msg_id)
 
void vl_msg_api_config (vl_msg_api_msg_config_t *)
 
void vl_msg_api_set_cleanup_handler (int msg_id, void *fp)
 
void vl_msg_api_queue_handler (svm_queue_t *q)
 
void vl_msg_api_barrier_sync (void)
 
void vl_msg_api_barrier_release (void)
 
void vl_msg_api_free (void *)
 
void vl_noop_handler (void *mp)
 
void vl_msg_api_increment_missing_client_counter (void)
 
void vl_msg_api_post_mortem_dump (void)
 
void vl_msg_api_post_mortem_dump_enable_disable (int enable)
 
void vl_msg_api_register_pd_handler (void *handler, u16 msg_id_host_byte_order)
 
int vl_msg_api_pd_handler (void *mp, int rv)
 
void vl_msg_api_set_first_available_msg_id (u16 first_avail)
 
u16 vl_msg_api_get_msg_ids (const char *name, int n)
 
u32 vl_msg_api_get_msg_index (u8 *name_and_crc)
 
void * vl_msg_push_heap (void)
 
void vl_msg_pop_heap (void *oldheap)
 

Variables

api_main_t api_main
 

Macro Definition Documentation

#define VL_API_BIG_ENDIAN   0x01

Definition at line 107 of file api_common.h.

#define VL_API_INVALID_FI   ((u32)~0)

Definition at line 75 of file api_common.h.

#define VL_API_LITTLE_ENDIAN   0x00

Definition at line 106 of file api_common.h.

#define vl_msg_api_barrier_trace_context (   X)

Definition at line 167 of file api_common.h.

Typedef Documentation

typedef struct msgbuf_ msgbuf_t

Message header structure.

An API client registration, only in vpp/vlib.

typedef clib_error_t*( vl_msg_api_init_function_t) (u32 client_index)

Definition at line 184 of file api_common.h.

Enumeration Type Documentation

Trace RX / TX enum.

Enumerator
VL_API_TRACE_TX 
VL_API_TRACE_RX 

Definition at line 100 of file api_common.h.

API registration types.

Enumerator
REGISTRATION_TYPE_FREE 
REGISTRATION_TYPE_SHMEM 

Shared memory connection.

REGISTRATION_TYPE_SOCKET_LISTEN 

Socket listener.

REGISTRATION_TYPE_SOCKET_SERVER 

Socket server.

REGISTRATION_TYPE_SOCKET_CLIENT 

Socket client.

Definition at line 33 of file api_common.h.

Function Documentation

void vl_msg_api_barrier_release ( void  )

Definition at line 388 of file api_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vl_msg_api_barrier_sync ( void  )

Definition at line 383 of file api_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vl_msg_api_clean_handlers ( int  msg_id)

Definition at line 735 of file api_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vl_msg_api_cleanup_handler ( void *  the_msg)

Definition at line 596 of file api_shared.c.

+ Here is the call graph for this function:

void vl_msg_api_config ( vl_msg_api_msg_config_t )

Definition at line 664 of file api_shared.c.

+ Here is the caller graph for this function:

void vl_msg_api_free ( void *  )

Definition at line 253 of file memory_shared.c.

+ Here is the caller graph for this function:

u16 vl_msg_api_get_msg_ids ( const char *  name,
int  n 
)

Definition at line 872 of file api_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 vl_msg_api_get_msg_index ( u8 name_and_crc)

Definition at line 944 of file api_shared.c.

+ Here is the caller graph for this function:

void vl_msg_api_handler ( void *  the_msg)

Definition at line 547 of file api_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vl_msg_api_handler_no_free ( void *  the_msg)

Definition at line 510 of file threads.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vl_msg_api_handler_no_trace_no_free ( void *  the_msg)

Definition at line 568 of file api_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vl_msg_api_increment_missing_client_counter ( void  )

Definition at line 44 of file api_shared.c.

+ Here is the caller graph for this function:

int vl_msg_api_pd_handler ( void *  mp,
int  rv 
)

Definition at line 843 of file api_shared.c.

void vl_msg_api_post_mortem_dump ( void  )

Definition at line 794 of file api_shared.c.

void vl_msg_api_post_mortem_dump_enable_disable ( int  enable)

Definition at line 788 of file api_shared.c.

+ Here is the caller graph for this function:

void vl_msg_api_queue_handler ( svm_queue_t q)

Definition at line 757 of file api_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vl_msg_api_register_pd_handler ( void *  handler,
u16  msg_id_host_byte_order 
)

Definition at line 829 of file api_shared.c.

void vl_msg_api_replay_handler ( void *  the_msg)

Definition at line 616 of file api_shared.c.

void vl_msg_api_set_cleanup_handler ( int  msg_id,
void *  fp 
)

Definition at line 747 of file api_shared.c.

void vl_msg_api_set_first_available_msg_id ( u16  first_avail)

Definition at line 864 of file api_shared.c.

+ Here is the caller graph for this function:

void vl_msg_api_set_handlers ( int  msg_id,
char *  msg_name,
void *  handler,
void *  cleanup,
void *  endian,
void *  print,
int  msg_size,
int  traced 
)

Definition at line 713 of file api_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vl_msg_api_socket_handler ( void *  the_msg)

Definition at line 643 of file api_shared.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vl_msg_api_trace_only ( void *  the_msg)

Definition at line 585 of file api_shared.c.

+ Here is the call graph for this function:

void vl_msg_pop_heap ( void *  oldheap)

Definition at line 967 of file api_shared.c.

+ Here is the call graph for this function:

void* vl_msg_push_heap ( void  )

Definition at line 959 of file api_shared.c.

+ Here is the call graph for this function:

void vl_noop_handler ( void *  mp)

Definition at line 780 of file api_shared.c.

+ Here is the caller graph for this function:

Variable Documentation

api_main_t api_main

Definition at line 35 of file api_shared.c.