FD.io VPP  v18.01.2-1-g9b554f3
Vector Packet Processing
application.c File Reference
+ Include dependency graph for application.c:

Go to the source code of this file.

Functions

static u8app_get_name_from_reg_index (application_t *app)
 
u32 application_session_table (application_t *app, u8 fib_proto)
 
u32 application_local_session_table (application_t *app)
 
int application_api_queue_is_full (application_t *app)
 
u8application_name_from_index (u32 app_index)
 Returns app name. More...
 
static void application_table_add (application_t *app)
 
static void application_table_del (application_t *app)
 
application_tapplication_lookup (u32 api_client_index)
 
application_tapplication_new ()
 
void application_del (application_t *app)
 
static void application_verify_cb_fns (session_cb_vft_t *cb_fns)
 
int application_init (application_t *app, u32 api_client_index, u64 *options, session_cb_vft_t *cb_fns)
 
application_tapplication_get (u32 index)
 
application_tapplication_get_if_valid (u32 index)
 
u32 application_get_index (application_t *app)
 
static segment_manager_tapplication_alloc_segment_manager (application_t *app)
 
int application_start_listen (application_t *srv, session_endpoint_t *sep, u64 *res)
 Start listening local transport endpoint for requested transport. More...
 
int application_stop_listen (application_t *srv, u64 handle)
 Stop listening on session associated to handle. More...
 
int application_open_session (application_t *app, session_endpoint_t *sep, u32 api_context)
 
segment_manager_tapplication_get_connect_segment_manager (application_t *app)
 
segment_manager_tapplication_get_listen_segment_manager (application_t *app, stream_session_t *s)
 
int application_is_proxy (application_t *app)
 
int application_is_builtin (application_t *app)
 
int application_is_builtin_proxy (application_t *app)
 
int application_add_segment_notify (u32 app_index, u32 fifo_segment_index)
 
u8 application_has_local_scope (application_t *app)
 
u8 application_has_global_scope (application_t *app)
 
u32 application_n_listeners (application_t *app)
 
stream_session_tapplication_first_listener (application_t *app, u8 fib_proto, u8 transport_proto)
 
stream_session_tapplication_proxy_listener (application_t *app, u8 fib_proto, u8 transport_proto)
 
static clib_error_tapplication_start_stop_proxy_fib_proto (application_t *app, u8 fib_proto, u8 transport_proto, u8 is_start)
 
static void application_start_stop_proxy_local_scope (application_t *app, u8 transport_proto, u8 is_start)
 
void application_start_stop_proxy (application_t *app, transport_proto_t transport_proto, u8 is_start)
 
void application_setup_proxy (application_t *app)
 
void application_remove_proxy (application_t *app)
 
u8format_application_listener (u8 *s, va_list *args)
 
void application_format_connects (application_t *app, int verbose)
 
u8format_application (u8 *s, va_list *args)
 
static clib_error_tshow_app_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 

Variables

static application_tapp_pool
 Pool from which we allocate all applications. More...
 
static uwordapp_by_api_client_index
 Hash table of apps by api client index. More...
 
static u32 default_app_evt_queue_size = 128
 Default application event queue size. More...
 
static vlib_cli_command_t show_app_command
 (constructor) VLIB_CLI_COMMAND (show_app_command) More...
 

Function Documentation

static u8* app_get_name_from_reg_index ( application_t app)
static

Definition at line 37 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int application_add_segment_notify ( u32  app_index,
u32  fifo_segment_index 
)

Definition at line 478 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static segment_manager_t* application_alloc_segment_manager ( application_t app)
static

Definition at line 320 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int application_api_queue_is_full ( application_t app)

Definition at line 77 of file application.c.

+ Here is the call graph for this function:

void application_del ( application_t app)

Definition at line 147 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

stream_session_t* application_first_listener ( application_t app,
u8  fib_proto,
u8  transport_proto 
)

Definition at line 511 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void application_format_connects ( application_t app,
int  verbose 
)

Definition at line 723 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

application_t* application_get ( u32  index)

Definition at line 297 of file application.c.

+ Here is the caller graph for this function:

segment_manager_t* application_get_connect_segment_manager ( application_t app)

Definition at line 443 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

application_t* application_get_if_valid ( u32  index)

Definition at line 305 of file application.c.

+ Here is the caller graph for this function:

u32 application_get_index ( application_t app)

Definition at line 314 of file application.c.

+ Here is the caller graph for this function:

segment_manager_t* application_get_listen_segment_manager ( application_t app,
stream_session_t s 
)

Definition at line 450 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8 application_has_global_scope ( application_t app)

Definition at line 499 of file application.c.

+ Here is the caller graph for this function:

u8 application_has_local_scope ( application_t app)

Definition at line 493 of file application.c.

+ Here is the caller graph for this function:

int application_init ( application_t app,
u32  api_client_index,
u64 options,
session_cb_vft_t cb_fns 
)

Definition at line 231 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int application_is_builtin ( application_t app)

Definition at line 466 of file application.c.

+ Here is the caller graph for this function:

int application_is_builtin_proxy ( application_t app)

Definition at line 472 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int application_is_proxy ( application_t app)

Definition at line 460 of file application.c.

+ Here is the caller graph for this function:

u32 application_local_session_table ( application_t app)

Definition at line 67 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

application_t* application_lookup ( u32  api_client_index)

Definition at line 122 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 application_n_listeners ( application_t app)

Definition at line 505 of file application.c.

+ Here is the call graph for this function:

u8* application_name_from_index ( u32  app_index)

Returns app name.

Since the name is not stored per app, we generate it on the fly. It is the caller's responsibility to free the vector

Definition at line 101 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

application_t* application_new ( )

Definition at line 133 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int application_open_session ( application_t app,
session_endpoint_t sep,
u32  api_context 
)

Definition at line 421 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

stream_session_t* application_proxy_listener ( application_t app,
u8  fib_proto,
u8  transport_proto 
)

Definition at line 535 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void application_remove_proxy ( application_t app)

Definition at line 670 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 application_session_table ( application_t app,
u8  fib_proto 
)

Definition at line 52 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void application_setup_proxy ( application_t app)

Definition at line 652 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int application_start_listen ( application_t srv,
session_endpoint_t sep,
u64 res 
)

Start listening local transport endpoint for requested transport.

Creates a 'dummy' stream session with state LISTENING to be used in session lookups, prior to establishing connection. Requests transport to build it's own specific listening connection.

Definition at line 347 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void application_start_stop_proxy ( application_t app,
transport_proto_t  transport_proto,
u8  is_start 
)

Definition at line 636 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* application_start_stop_proxy_fib_proto ( application_t app,
u8  fib_proto,
u8  transport_proto,
u8  is_start 
)
static

Definition at line 559 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void application_start_stop_proxy_local_scope ( application_t app,
u8  transport_proto,
u8  is_start 
)
static

Definition at line 609 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int application_stop_listen ( application_t srv,
u64  handle 
)

Stop listening on session associated to handle.

Definition at line 385 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void application_table_add ( application_t app)
static

Definition at line 110 of file application.c.

+ Here is the caller graph for this function:

static void application_table_del ( application_t app)
static

Definition at line 116 of file application.c.

+ Here is the caller graph for this function:

static void application_verify_cb_fns ( session_cb_vft_t cb_fns)
static

Definition at line 218 of file application.c.

+ Here is the caller graph for this function:

u8* format_application ( u8 s,
va_list *  args 
)

Definition at line 787 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_application_listener ( u8 s,
va_list *  args 
)

Definition at line 686 of file application.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* show_app_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 824 of file application.c.

+ Here is the call graph for this function:

Variable Documentation

uword* app_by_api_client_index
static

Hash table of apps by api client index.

Definition at line 29 of file application.c.

application_t* app_pool
static

Pool from which we allocate all applications.

Definition at line 24 of file application.c.

u32 default_app_evt_queue_size = 128
static

Default application event queue size.

Definition at line 34 of file application.c.

vlib_cli_command_t show_app_command
static
Initial value:
=
{
.path = "show app",
.short_help = "show app [server|client] [verbose]",
.function = show_app_command_fn,
}
static clib_error_t * show_app_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: application.c:824

(constructor) VLIB_CLI_COMMAND (show_app_command)

Definition at line 907 of file application.c.