FD.io VPP  v17.10-9-gd594711
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 ip_is_zero (ip46_address_t *ip46_address, u8 is_ip4)
 
static u8 ip_is_local (ip46_address_t *ip46_address, u8 is_ip4)
 
int api_parse_session_handle (u64 handle, u32 *session_index, u32 *thread_index)
 
int vnet_bind_i (u32 app_index, session_type_t sst, transport_endpoint_t *tep, u64 *handle)
 
int vnet_unbind_i (u32 app_index, u64 handle)
 
int vnet_connect_i (u32 app_index, u32 api_context, session_type_t sst, transport_endpoint_t *tep, void *mp)
 
uword unformat_vnet_uri (unformat_input_t *input, va_list *args)
 unformat a vnet URI More...
 
int parse_uri (char *uri, session_type_t *sst, transport_endpoint_t *tep)
 
int vnet_application_attach (vnet_app_attach_args_t *a)
 Attaches application. More...
 
int vnet_application_detach (vnet_app_detach_args_t *a)
 
int vnet_bind_uri (vnet_bind_args_t *a)
 
int vnet_unbind_uri (vnet_unbind_args_t *a)
 
int vnet_connect_uri (vnet_connect_args_t *a)
 
int vnet_disconnect_session (vnet_disconnect_args_t *a)
 
int vnet_bind (vnet_bind_args_t *a)
 
int vnet_unbind (vnet_unbind_args_t *a)
 
int vnet_connect (vnet_connect_args_t *a)
 

Variables

static u8cache_uri
 
static session_type_t cache_sst
 
static transport_endpoint_tcache_tep
 

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 62 of file application_interface.c.

+ Here is the call graph for this function:

static u8 ip_is_local ( ip46_address_t *  ip46_address,
u8  is_ip4 
)
static

Definition at line 36 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8 ip_is_zero ( ip46_address_t *  ip46_address,
u8  is_ip4 
)
static

Definition at line 27 of file application_interface.c.

+ Here is the caller graph for this function:

int parse_uri ( char *  uri,
session_type_t sst,
transport_endpoint_t tep 
)

Definition at line 215 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 171 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_application_attach ( vnet_app_attach_args_t a)

Attaches application.

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 257 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)

Definition at line 282 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_bind ( vnet_bind_args_t a)

Definition at line 373 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_bind_i ( u32  app_index,
session_type_t  sst,
transport_endpoint_t tep,
u64 handle 
)

Definition at line 82 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 298 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_connect ( vnet_connect_args_t a)

Definition at line 392 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_type_t  sst,
transport_endpoint_t tep,
void *  mp 
)

Definition at line 123 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_connect_uri ( vnet_connect_args_t a)

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:

int vnet_disconnect_session ( vnet_disconnect_args_t a)

Definition at line 353 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_unbind ( vnet_unbind_args_t a)

Definition at line 386 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 108 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 316 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

session_type_t cache_sst
static

Definition at line 211 of file application_interface.c.

transport_endpoint_t* cache_tep
static

Definition at line 212 of file application_interface.c.

u8* cache_uri
static

Definition at line 210 of file application_interface.c.