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

Go to the source code of this file.

Data Structures

struct  certificate_
 
struct  session_cb_vft_
 
struct  crypto_ctx_
 
struct  app_session_transport_
 
struct  app_session_t
 
struct  session_listen_msg_
 
struct  session_listen_uri_msg_
 
struct  session_bound_msg_
 
struct  session_unlisten_msg_
 
struct  session_unlisten_reply_msg_
 
struct  session_accepted_msg_
 
struct  session_accepted_reply_msg_
 
struct  session_connect_msg_
 
struct  session_connect_uri_msg_
 
struct  session_connected_msg_
 
struct  session_shutdown_msg_
 
struct  session_disconnect_msg_
 
struct  session_disconnected_msg_
 
struct  session_disconnected_reply_msg_
 
struct  session_reset_msg_
 
struct  session_reset_reply_msg_
 
struct  session_req_worker_update_msg_
 
struct  session_worker_update_msg_
 
struct  session_worker_update_reply_msg_
 
struct  session_app_detach_msg_
 
struct  app_map_another_segment_msg_
 
struct  app_unmap_segment_msg_
 
struct  session_migrate_msg_
 
struct  session_cleanup_msg_
 
struct  session_app_wrk_rpc_msg_
 
struct  session_transport_attr_msg_
 
struct  session_transport_attr_reply_msg_
 
struct  app_session_event_
 
struct  app_sapi_attach_msg_
 
struct  app_sapi_attach_reply_msg_
 
struct  app_sapi_worker_add_del_msg_
 
struct  app_sapi_worker_add_del_reply_msg_
 
struct  app_sapi_msg_
 

Macros

#define foreach_app_init_args
 
#define foreach_app_options_flags
 
#define foreach_fd_type
 
#define foreach_app_session_field
 flag for dgram mode More...
 

Typedefs

typedef struct certificate_ app_cert_key_pair_t
 
typedef struct session_cb_vft_ session_cb_vft_t
 
typedef struct _vnet_app_attach_args_t vnet_app_attach_args_t
 
typedef struct _vnet_app_detach_args_t vnet_app_detach_args_t
 
typedef struct _vnet_bind_args_t vnet_listen_args_t
 
typedef struct _vnet_unlisten_args_t vnet_unlisten_args_t
 
typedef struct _vnet_connect_args vnet_connect_args_t
 
typedef struct _vnet_shutdown_args_t vnet_shutdown_args_t
 
typedef struct _vnet_disconnect_args_t vnet_disconnect_args_t
 
typedef struct _vnet_application_add_tls_cert_args_t vnet_app_add_tls_cert_args_t
 
typedef struct _vnet_application_add_tls_key_args_t vnet_app_add_tls_key_args_t
 
typedef enum crypto_engine_type_ crypto_engine_type_t
 
typedef struct _vnet_app_add_cert_key_pair_args_ vnet_app_add_cert_key_pair_args_t
 
typedef struct crypto_ctx_ crypto_context_t
 
typedef enum _app_options app_options_t
 
typedef enum _app_options_flags app_options_flags_t
 
typedef enum session_fd_type_ session_fd_type_t
 
typedef enum session_fd_flag_ session_fd_flag_t
 
typedef struct app_session_transport_ app_session_transport_t
 
typedef struct session_listen_msg_ session_listen_msg_t
 
typedef struct session_listen_uri_msg_ session_listen_uri_msg_t
 
typedef struct session_bound_msg_ session_bound_msg_t
 
typedef struct session_unlisten_msg_ session_unlisten_msg_t
 
typedef struct session_unlisten_reply_msg_ session_unlisten_reply_msg_t
 
typedef struct session_accepted_msg_ session_accepted_msg_t
 
typedef struct session_accepted_reply_msg_ session_accepted_reply_msg_t
 
typedef struct session_connect_msg_ session_connect_msg_t
 
typedef struct session_connect_uri_msg_ session_connect_uri_msg_t
 
typedef struct session_connected_msg_ session_connected_msg_t
 
typedef struct session_shutdown_msg_ session_shutdown_msg_t
 
typedef struct session_disconnect_msg_ session_disconnect_msg_t
 
typedef struct session_disconnected_msg_ session_disconnected_msg_t
 
typedef struct session_disconnected_reply_msg_ session_disconnected_reply_msg_t
 
typedef struct session_reset_msg_ session_reset_msg_t
 
typedef struct session_reset_reply_msg_ session_reset_reply_msg_t
 
typedef struct session_req_worker_update_msg_ session_req_worker_update_msg_t
 
typedef struct session_worker_update_msg_ session_worker_update_msg_t
 
typedef struct session_worker_update_reply_msg_ session_worker_update_reply_msg_t
 
typedef struct session_app_detach_msg_ session_app_detach_msg_t
 
typedef struct app_map_another_segment_msg_ session_app_add_segment_msg_t
 
typedef struct app_unmap_segment_msg_ session_app_del_segment_msg_t
 
typedef struct session_migrate_msg_ session_migrated_msg_t
 
typedef struct session_cleanup_msg_ session_cleanup_msg_t
 
typedef struct session_app_wrk_rpc_msg_ session_app_wrk_rpc_msg_t
 
typedef struct session_transport_attr_msg_ session_transport_attr_msg_t
 
typedef struct session_transport_attr_reply_msg_ session_transport_attr_reply_msg_t
 
typedef struct app_session_event_ app_session_evt_t
 
typedef enum app_sapi_msg_type app_sapi_msg_type_e
 
typedef struct app_sapi_attach_msg_ app_sapi_attach_msg_t
 
typedef struct app_sapi_attach_reply_msg_ app_sapi_attach_reply_msg_t
 
typedef struct app_sapi_worker_add_del_msg_ app_sapi_worker_add_del_msg_t
 
typedef struct app_sapi_worker_add_del_reply_msg_ app_sapi_worker_add_del_reply_msg_t
 
typedef struct app_sapi_msg_ app_sapi_msg_t
 

Enumerations

enum  crypto_engine_type_ {
  CRYPTO_ENGINE_NONE, CRYPTO_ENGINE_OPENSSL, CRYPTO_ENGINE_MBEDTLS, CRYPTO_ENGINE_VPP,
  CRYPTO_ENGINE_PICOTLS, CRYPTO_ENGINE_LAST = CRYPTO_ENGINE_PICOTLS
}
 
enum  app_attach_options_index_t {
  APP_OPTIONS_FLAGS, APP_OPTIONS_EVT_QUEUE_SIZE, APP_OPTIONS_SEGMENT_SIZE, APP_OPTIONS_ADD_SEGMENT_SIZE,
  APP_OPTIONS_PRIVATE_SEGMENT_COUNT, APP_OPTIONS_RX_FIFO_SIZE, APP_OPTIONS_TX_FIFO_SIZE, APP_OPTIONS_PREALLOC_FIFO_PAIRS,
  APP_OPTIONS_PREALLOC_FIFO_HDRS, APP_OPTIONS_NAMESPACE, APP_OPTIONS_NAMESPACE_SECRET, APP_OPTIONS_PROXY_TRANSPORT,
  APP_OPTIONS_ACCEPT_COOKIE, APP_OPTIONS_TLS_ENGINE, APP_OPTIONS_MAX_FIFO_SIZE, APP_OPTIONS_HIGH_WATERMARK,
  APP_OPTIONS_LOW_WATERMARK, APP_OPTIONS_PCT_FIRST_ALLOC, APP_OPTIONS_N_OPTIONS
}
 
enum  session_fd_type_ { SESSION_N_FD_TYPE }
 
enum  session_fd_flag_ { foreach_fd_type }
 
enum  app_sapi_msg_type {
  APP_SAPI_MSG_TYPE_NONE, APP_SAPI_MSG_TYPE_ATTACH, APP_SAPI_MSG_TYPE_ATTACH_REPLY, APP_SAPI_MSG_TYPE_ADD_DEL_WORKER,
  APP_SAPI_MSG_TYPE_ADD_DEL_WORKER_REPLY, APP_SAPI_MSG_TYPE_SEND_FDS
}
 

Functions

int parse_uri (char *uri, session_endpoint_cfg_t *sep)
 
int vnet_bind_uri (vnet_listen_args_t *)
 
int vnet_unbind_uri (vnet_unlisten_args_t *a)
 
int vnet_connect_uri (vnet_connect_args_t *a)
 
int vnet_application_attach (vnet_app_attach_args_t *a)
 Attach application to vpp. More...
 
int vnet_application_detach (vnet_app_detach_args_t *a)
 Detach application from vpp. More...
 
int vnet_listen (vnet_listen_args_t *a)
 
int vnet_connect (vnet_connect_args_t *a)
 
int vnet_unlisten (vnet_unlisten_args_t *a)
 
int vnet_shutdown_session (vnet_shutdown_args_t *a)
 
int vnet_disconnect_session (vnet_disconnect_args_t *a)
 
int vnet_app_add_cert_key_pair (vnet_app_add_cert_key_pair_args_t *a)
 
int vnet_app_del_cert_key_pair (u32 index)
 
int vnet_app_add_cert_key_interest (u32 index, u32 app_index)
 Ask for app cb on pair deletion. More...
 
 STATIC_ASSERT (sizeof(session_listen_msg_t)<=SESSION_CTRL_MSG_MAX_SIZE, "msg too large")
 
 STATIC_ASSERT (sizeof(session_listen_uri_msg_t)<=SESSION_CTRL_MSG_MAX_SIZE, "msg too large")
 
 STATIC_ASSERT (sizeof(session_connect_msg_t)<=SESSION_CTRL_MSG_MAX_SIZE, "msg too large")
 
 STATIC_ASSERT (sizeof(session_connect_uri_msg_t)<=SESSION_CTRL_MSG_MAX_SIZE, "msg too large")
 
static void app_alloc_ctrl_evt_to_vpp (svm_msg_q_t *mq, app_session_evt_t *app_evt, u8 evt_type)
 
static void app_send_ctrl_evt_to_vpp (svm_msg_q_t *mq, app_session_evt_t *app_evt)
 
static int app_send_io_evt_to_vpp (svm_msg_q_t *mq, u32 session_index, u8 evt_type, u8 noblock)
 Send fifo io event to vpp worker thread. More...
 
static int app_send_dgram_raw (svm_fifo_t *f, app_session_transport_t *at, svm_msg_q_t *vpp_evt_q, u8 *data, u32 len, u8 evt_type, u8 do_evt, u8 noblock)
 
static int app_send_dgram (app_session_t *s, u8 *data, u32 len, u8 noblock)
 
static int app_send_stream_raw (svm_fifo_t *f, svm_msg_q_t *vpp_evt_q, u8 *data, u32 len, u8 evt_type, u8 do_evt, u8 noblock)
 
static int app_send_stream (app_session_t *s, u8 *data, u32 len, u8 noblock)
 
static int app_send (app_session_t *s, u8 *data, u32 len, u8 noblock)
 
static int app_recv_dgram_raw (svm_fifo_t *f, u8 *buf, u32 len, app_session_transport_t *at, u8 clear_evt, u8 peek)
 
static int app_recv_dgram (app_session_t *s, u8 *buf, u32 len)
 
static int app_recv_stream_raw (svm_fifo_t *f, u8 *buf, u32 len, u8 clear_evt, u8 peek)
 
static int app_recv_stream (app_session_t *s, u8 *buf, u32 len)
 
static int app_recv (app_session_t *s, u8 *data, u32 len)
 
static u8format_session_error (u8 *s, va_list *args)
 
 STATIC_ASSERT (sizeof(u64) *APP_OPTIONS_N_OPTIONS<=sizeof(((app_sapi_attach_msg_t *) 0) ->options), "Out of options, fix message definition")
 
static void session_endpoint_alloc_ext_cfg (session_endpoint_cfg_t *sep_ext, transport_endpt_ext_cfg_type_t type)
 

Variables

static char * session_error_str []
 

Macro Definition Documentation

◆ foreach_app_init_args

#define foreach_app_init_args
Value:
_(u32, api_client_index) \
_(u8 *, name) \
_(u64 *, options) \
_(u8 *, namespace_id) \
_(session_cb_vft_t *, session_cb_vft) \
_(u32, app_index) \
_(u8, use_sock_api) \

Definition at line 80 of file application_interface.h.

◆ foreach_app_options_flags

foreach_app_options_flags
Value:
_(ACCEPT_REDIRECT, "Use FIFO with redirects") \
_(ADD_SEGMENT, "Add segment and signal app if needed") \
_(IS_BUILTIN, "Application is builtin") \
_(IS_TRANSPORT_APP, "Application is a transport proto") \
_(IS_PROXY, "Application is proxying") \
_(USE_GLOBAL_SCOPE, "App can use global session scope") \
_(USE_LOCAL_SCOPE, "App can use local session scope") \
_(EVT_MQ_USE_EVENTFD, "Use eventfds for signaling") \

Definition at line 226 of file application_interface.h.

◆ foreach_app_session_field

#define foreach_app_session_field
Value:
_(svm_fifo_t, *rx_fifo) /**< rx fifo */ \
_(svm_fifo_t, *tx_fifo) /**< tx fifo */ \
_(session_type_t, session_type) /**< session type */ \
_(volatile u8, session_state) /**< session state */ \
_(u32, session_index) /**< index in owning pool */ \
_(app_session_transport_t, transport) /**< transport info */ \
_(svm_msg_q_t, *vpp_evt_q) /**< vpp event queue */ \
_(u8, is_dgram)

flag for dgram mode

Definition at line 298 of file application_interface.h.

◆ foreach_fd_type

#define foreach_fd_type
Value:
_(VPP_MQ_SEGMENT, "Fd for vpp's event mq segment") \
_(MEMFD_SEGMENT, "Fd for memfd segment") \
_(MQ_EVENTFD, "Event fd used by message queue") \
_(VPP_MQ_EVENTFD, "Event fd used by vpp's message queue") \

Definition at line 250 of file application_interface.h.

Typedef Documentation

◆ app_cert_key_pair_t

◆ app_options_flags_t

typedef enum _app_options_flags app_options_flags_t

◆ app_options_t

typedef enum _app_options app_options_t

◆ app_sapi_attach_msg_t

◆ app_sapi_attach_reply_msg_t

◆ app_sapi_msg_t

typedef struct app_sapi_msg_ app_sapi_msg_t

◆ app_sapi_msg_type_e

◆ app_sapi_worker_add_del_msg_t

◆ app_sapi_worker_add_del_reply_msg_t

◆ app_session_evt_t

◆ app_session_transport_t

◆ crypto_context_t

typedef struct crypto_ctx_ crypto_context_t

◆ crypto_engine_type_t

◆ session_accepted_msg_t

◆ session_accepted_reply_msg_t

◆ session_app_add_segment_msg_t

◆ session_app_del_segment_msg_t

◆ session_app_detach_msg_t

◆ session_app_wrk_rpc_msg_t

◆ session_bound_msg_t

◆ session_cb_vft_t

◆ session_cleanup_msg_t

◆ session_connect_msg_t

◆ session_connect_uri_msg_t

◆ session_connected_msg_t

◆ session_disconnect_msg_t

◆ session_disconnected_msg_t

◆ session_disconnected_reply_msg_t

◆ session_fd_flag_t

◆ session_fd_type_t

◆ session_listen_msg_t

◆ session_listen_uri_msg_t

◆ session_migrated_msg_t

◆ session_req_worker_update_msg_t

◆ session_reset_msg_t

◆ session_reset_reply_msg_t

◆ session_shutdown_msg_t

◆ session_transport_attr_msg_t

◆ session_transport_attr_reply_msg_t

◆ session_unlisten_msg_t

◆ session_unlisten_reply_msg_t

◆ session_worker_update_msg_t

◆ session_worker_update_reply_msg_t

◆ vnet_app_add_cert_key_pair_args_t

typedef struct _vnet_app_add_cert_key_pair_args_ vnet_app_add_cert_key_pair_args_t

◆ vnet_app_add_tls_cert_args_t

typedef struct _vnet_application_add_tls_cert_args_t vnet_app_add_tls_cert_args_t

◆ vnet_app_add_tls_key_args_t

typedef struct _vnet_application_add_tls_key_args_t vnet_app_add_tls_key_args_t

◆ vnet_app_attach_args_t

typedef struct _vnet_app_attach_args_t vnet_app_attach_args_t

◆ vnet_app_detach_args_t

typedef struct _vnet_app_detach_args_t vnet_app_detach_args_t

◆ vnet_connect_args_t

typedef struct _vnet_connect_args vnet_connect_args_t

◆ vnet_disconnect_args_t

typedef struct _vnet_disconnect_args_t vnet_disconnect_args_t

◆ vnet_listen_args_t

typedef struct _vnet_bind_args_t vnet_listen_args_t

◆ vnet_shutdown_args_t

typedef struct _vnet_shutdown_args_t vnet_shutdown_args_t

◆ vnet_unlisten_args_t

typedef struct _vnet_unlisten_args_t vnet_unlisten_args_t

Enumeration Type Documentation

◆ app_attach_options_index_t

Enumerator
APP_OPTIONS_FLAGS 
APP_OPTIONS_EVT_QUEUE_SIZE 
APP_OPTIONS_SEGMENT_SIZE 
APP_OPTIONS_ADD_SEGMENT_SIZE 
APP_OPTIONS_PRIVATE_SEGMENT_COUNT 
APP_OPTIONS_RX_FIFO_SIZE 
APP_OPTIONS_TX_FIFO_SIZE 
APP_OPTIONS_PREALLOC_FIFO_PAIRS 
APP_OPTIONS_PREALLOC_FIFO_HDRS 
APP_OPTIONS_NAMESPACE 
APP_OPTIONS_NAMESPACE_SECRET 
APP_OPTIONS_PROXY_TRANSPORT 
APP_OPTIONS_ACCEPT_COOKIE 
APP_OPTIONS_TLS_ENGINE 
APP_OPTIONS_MAX_FIFO_SIZE 
APP_OPTIONS_HIGH_WATERMARK 
APP_OPTIONS_LOW_WATERMARK 
APP_OPTIONS_PCT_FIRST_ALLOC 
APP_OPTIONS_N_OPTIONS 

Definition at line 203 of file application_interface.h.

◆ app_sapi_msg_type

Enumerator
APP_SAPI_MSG_TYPE_NONE 
APP_SAPI_MSG_TYPE_ATTACH 
APP_SAPI_MSG_TYPE_ATTACH_REPLY 
APP_SAPI_MSG_TYPE_ADD_DEL_WORKER 
APP_SAPI_MSG_TYPE_ADD_DEL_WORKER_REPLY 
APP_SAPI_MSG_TYPE_SEND_FDS 

Definition at line 813 of file application_interface.h.

◆ crypto_engine_type_

Enumerator
CRYPTO_ENGINE_NONE 
CRYPTO_ENGINE_OPENSSL 
CRYPTO_ENGINE_MBEDTLS 
CRYPTO_ENGINE_VPP 
CRYPTO_ENGINE_PICOTLS 
CRYPTO_ENGINE_LAST 

Definition at line 174 of file application_interface.h.

◆ session_fd_flag_

Enumerator
foreach_fd_type 

Definition at line 264 of file application_interface.h.

◆ session_fd_type_

Enumerator
SESSION_N_FD_TYPE 

Definition at line 256 of file application_interface.h.

Function Documentation

◆ app_alloc_ctrl_evt_to_vpp()

static void app_alloc_ctrl_evt_to_vpp ( svm_msg_q_t mq,
app_session_evt_t app_evt,
u8  evt_type 
)
inlinestatic

Definition at line 576 of file application_interface.h.

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

◆ app_recv()

static int app_recv ( app_session_t s,
u8 data,
u32  len 
)
inlinestatic

Definition at line 783 of file application_interface.h.

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

◆ app_recv_dgram()

static int app_recv_dgram ( app_session_t s,
u8 buf,
u32  len 
)
inlinestatic

Definition at line 759 of file application_interface.h.

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

◆ app_recv_dgram_raw()

static int app_recv_dgram_raw ( svm_fifo_t f,
u8 buf,
u32  len,
app_session_transport_t at,
u8  clear_evt,
u8  peek 
)
inlinestatic

Definition at line 720 of file application_interface.h.

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

◆ app_recv_stream()

static int app_recv_stream ( app_session_t s,
u8 buf,
u32  len 
)
inlinestatic

Definition at line 777 of file application_interface.h.

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

◆ app_recv_stream_raw()

static int app_recv_stream_raw ( svm_fifo_t f,
u8 buf,
u32  len,
u8  clear_evt,
u8  peek 
)
inlinestatic

Definition at line 765 of file application_interface.h.

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

◆ app_send()

static int app_send ( app_session_t s,
u8 data,
u32  len,
u8  noblock 
)
inlinestatic

Definition at line 712 of file application_interface.h.

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

◆ app_send_ctrl_evt_to_vpp()

static void app_send_ctrl_evt_to_vpp ( svm_msg_q_t mq,
app_session_evt_t app_evt 
)
inlinestatic

Definition at line 588 of file application_interface.h.

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

◆ app_send_dgram()

static int app_send_dgram ( app_session_t s,
u8 data,
u32  len,
u8  noblock 
)
inlinestatic

Definition at line 681 of file application_interface.h.

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

◆ app_send_dgram_raw()

static int app_send_dgram_raw ( svm_fifo_t f,
app_session_transport_t at,
svm_msg_q_t vpp_evt_q,
u8 data,
u32  len,
u8  evt_type,
u8  do_evt,
u8  noblock 
)
inlinestatic

Definition at line 645 of file application_interface.h.

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

◆ app_send_io_evt_to_vpp()

static int app_send_io_evt_to_vpp ( svm_msg_q_t mq,
u32  session_index,
u8  evt_type,
u8  noblock 
)
inlinestatic

Send fifo io event to vpp worker thread.

Because there may be multiple writers to one of vpp's queues, this protects message allocation and enqueueing.

Parameters
mqvpp message queue
ffifo for which the event is sent
evt_typetype of event
noblockflag to indicate is request is blocking or not
Returns
0 if success, negative integer otherwise

Definition at line 606 of file application_interface.h.

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

◆ app_send_stream()

static int app_send_stream ( app_session_t s,
u8 data,
u32  len,
u8  noblock 
)
inlinestatic

Definition at line 705 of file application_interface.h.

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

◆ app_send_stream_raw()

static int app_send_stream_raw ( svm_fifo_t f,
svm_msg_q_t vpp_evt_q,
u8 data,
u32  len,
u8  evt_type,
u8  do_evt,
u8  noblock 
)
inlinestatic

Definition at line 689 of file application_interface.h.

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

◆ format_session_error()

static u8* format_session_error ( u8 s,
va_list *  args 
)
inlinestatic

Definition at line 799 of file application_interface.h.

+ Here is the caller graph for this function:

◆ parse_uri()

int parse_uri ( char *  uri,
session_endpoint_cfg_t sep 
)

Definition at line 77 of file application_interface.c.

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

◆ session_endpoint_alloc_ext_cfg()

static void session_endpoint_alloc_ext_cfg ( session_endpoint_cfg_t sep_ext,
transport_endpt_ext_cfg_type_t  type 
)
inlinestatic

Definition at line 878 of file application_interface.h.

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

◆ STATIC_ASSERT() [1/5]

STATIC_ASSERT ( sizeof(session_connect_msg_t)<=  SESSION_CTRL_MSG_MAX_SIZE,
"msg too large"   
)

◆ STATIC_ASSERT() [2/5]

STATIC_ASSERT ( sizeof(session_connect_uri_msg_t)<=  SESSION_CTRL_MSG_MAX_SIZE,
"msg too large"   
)

◆ STATIC_ASSERT() [3/5]

STATIC_ASSERT ( sizeof(session_listen_msg_t)<=  SESSION_CTRL_MSG_MAX_SIZE,
"msg too large"   
)

◆ STATIC_ASSERT() [4/5]

STATIC_ASSERT ( sizeof(session_listen_uri_msg_t)<=  SESSION_CTRL_MSG_MAX_SIZE,
"msg too large"   
)

◆ STATIC_ASSERT() [5/5]

STATIC_ASSERT ( sizeof(u64) *APP_OPTIONS_N_OPTIONS<=sizeof(((app_sapi_attach_msg_t *) 0) ->options ,
"Out of  options,
fix message definition"   
)

◆ vnet_app_add_cert_key_interest()

int vnet_app_add_cert_key_interest ( u32  index,
u32  app_index 
)

Ask for app cb on pair deletion.

Definition at line 2029 of file application.c.

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

◆ vnet_app_add_cert_key_pair()

int vnet_app_add_cert_key_pair ( vnet_app_add_cert_key_pair_args_t a)

Definition at line 2017 of file application.c.

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

◆ vnet_app_del_cert_key_pair()

int vnet_app_del_cert_key_pair ( u32  index)

Definition at line 2040 of file application.c.

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

◆ vnet_application_attach()

int vnet_application_attach ( vnet_app_attach_args_t a)

Attach application to vpp.

Allocates a vpp app, i.e., a structure that keeps back pointers to external app and a segment manager for shared memory fifo based communication with the external app.

Definition at line 1114 of file application.c.

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

◆ vnet_application_detach()

int vnet_application_detach ( vnet_app_detach_args_t a)

Detach application from vpp.

Definition at line 1188 of file application.c.

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

◆ vnet_bind_uri()

int vnet_bind_uri ( vnet_listen_args_t )

Definition at line 110 of file application_interface.c.

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

◆ vnet_connect()

int vnet_connect ( vnet_connect_args_t a)

Definition at line 1320 of file application.c.

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

◆ vnet_connect_uri()

int vnet_connect_uri ( vnet_connect_args_t a)

Definition at line 149 of file application_interface.c.

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

◆ vnet_disconnect_session()

int vnet_disconnect_session ( vnet_disconnect_args_t a)

Definition at line 1411 of file application.c.

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

◆ vnet_listen()

int vnet_listen ( vnet_listen_args_t a)

Definition at line 1266 of file application.c.

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

◆ vnet_shutdown_session()

int vnet_shutdown_session ( vnet_shutdown_args_t a)

Definition at line 1390 of file application.c.

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

◆ vnet_unbind_uri()

int vnet_unbind_uri ( vnet_unlisten_args_t a)

Definition at line 124 of file application_interface.c.

+ Here is the call graph for this function:

◆ vnet_unlisten()

int vnet_unlisten ( vnet_unlisten_args_t a)

Definition at line 1359 of file application.c.

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

Variable Documentation

◆ session_error_str

char* session_error_str[]
static
Initial value:
= {
#define _(sym, str)
}

Definition at line 791 of file application_interface.h.

session_type_t
u8 session_type_t
Definition: session_types.h:110
app_session_transport_
Definition: application_interface.h:289
name
string name[64]
Definition: fib.api:25
svm_fifo_t
struct _svm_fifo svm_fifo_t
session_cb_vft_
Definition: application_interface.h:32
svm_msg_q_
Definition: message_queue.h:72
u64
unsigned long u64
Definition: types.h:89
u32
unsigned int u32
Definition: types.h:88
options
static struct option options[]
Definition: main.c:52
u8
unsigned char u8
Definition: types.h:56
foreach_session_error
@ foreach_session_error
Definition: session_types.h:502