FD.io VPP  v17.07.01-10-g3be13f0
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)
 
session_type_t session_type_from_proto_and_ip (session_api_proto_t proto, u8 is_ip4)
 
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)
 

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

session_type_t session_type_from_proto_and_ip ( session_api_proto_t  proto,
u8  is_ip4 
)

Definition at line 279 of file application_interface.c.

+ 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 175 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 238 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 263 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 375 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 300 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 394 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 125 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 339 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 355 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 388 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 110 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 318 of file application_interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function: