FD.io VPP  v18.01-8-g0eacf49
Vector Packet Processing
application_interface.c File Reference

VPP's application/session API bind/unbind/connect/disconnect calls. More...

+ Include dependency graph for application_interface.c:

Go to the source code of this file.

Functions

static u8 session_endpoint_is_local (session_endpoint_t *sep)
 
static u8 session_endpoint_is_zero (session_endpoint_t *sep)
 
u8 session_endpoint_in_ns (session_endpoint_t *sep)
 
int api_parse_session_handle (u64 handle, u32 *session_index, u32 *thread_index)
 
static void session_endpoint_update_for_app (session_endpoint_t *sep, application_t *app)
 
static int vnet_bind_i (u32 app_index, session_endpoint_t *sep, u64 *handle)
 
int vnet_unbind_i (u32 app_index, u64 handle)
 
static int app_connect_redirect (application_t *server, void *mp)
 
int vnet_connect_i (u32 app_index, u32 api_context, session_endpoint_t *sep, void *mp)
 
uword unformat_vnet_uri (unformat_input_t *input, va_list *args)
 unformat a vnet URI More...
 
int parse_uri (char *uri, session_endpoint_t *sep)
 
static int session_validate_namespace (u8 *namespace_id, u64 secret, u32 *app_ns_index)
 
clib_error_tvnet_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_bind_uri (vnet_bind_args_t *a)
 
int vnet_unbind_uri (vnet_unbind_args_t *a)
 
clib_error_tvnet_connect_uri (vnet_connect_args_t *a)
 
int vnet_disconnect_session (vnet_disconnect_args_t *a)
 
clib_error_tvnet_bind (vnet_bind_args_t *a)
 
clib_error_tvnet_unbind (vnet_unbind_args_t *a)
 
clib_error_tvnet_connect (vnet_connect_args_t *a)
 

Variables

static u8cache_uri
 
static session_endpoint_tcache_sep
 

Detailed Description

VPP's application/session API bind/unbind/connect/disconnect calls.

Definition in file application_interface.c.

Function Documentation

int api_parse_session_handle ( u64  handle,
u32 session_index,
u32 thread_index 
)

Definition at line 54 of file application_interface.c.

+ Here is the call graph for this function:

static int app_connect_redirect ( application_t server,
void *  mp 
)
static

Definition at line 198 of file application_interface.c.

+ Here is the caller graph for this function:

int parse_uri ( char *  uri,
session_endpoint_t sep 
)

Definition at line 337 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8 session_endpoint_in_ns ( session_endpoint_t sep)

Definition at line 39 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8 session_endpoint_is_local ( session_endpoint_t sep)
static

Definition at line 26 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8 session_endpoint_is_zero ( session_endpoint_t sep)
static

Definition at line 33 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void session_endpoint_update_for_app ( session_endpoint_t sep,
application_t app 
)
static

Definition at line 74 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int session_validate_namespace ( u8 namespace_id,
u64  secret,
u32 app_ns_index 
)
static

Definition at line 370 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uword unformat_vnet_uri ( unformat_input_t input,
va_list *  args 
)

unformat a vnet URI

fifo://name tcp://ip46-addr:port udp://ip46-addr:port

u8 ip46_address[16]; u16 port_in_host_byte_order; stream_session_type_t sst; u8 *fifo_name;

if (unformat (input, "%U", unformat_vnet_uri(), &ip46_address, &sst, &port, &fifo_name)) etc...

Definition at line 293 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* 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 399 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_application_detach ( vnet_app_detach_args_t a)

Detach application from vpp.

Definition at line 442 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* vnet_bind ( vnet_bind_args_t a)

Definition at line 526 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int vnet_bind_i ( u32  app_index,
session_endpoint_t sep,
u64 handle 
)
static

Definition at line 92 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_bind_uri ( vnet_bind_args_t a)

Definition at line 458 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* vnet_connect ( vnet_connect_args_t a)

Definition at line 544 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_connect_i ( u32  app_index,
u32  api_context,
session_endpoint_t sep,
void *  mp 
)

Definition at line 205 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* vnet_connect_uri ( vnet_connect_args_t a)

Definition at line 490 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_disconnect_session ( vnet_disconnect_args_t a)

Definition at line 506 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* vnet_unbind ( vnet_unbind_args_t a)

Definition at line 535 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_unbind_i ( u32  app_index,
u64  handle 
)

Definition at line 146 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_unbind_uri ( vnet_unbind_args_t a)

Definition at line 471 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

session_endpoint_t* cache_sep
static

Definition at line 334 of file application_interface.c.

u8* cache_uri
static

Definition at line 333 of file application_interface.c.