FD.io VPP  v20.05-21-gb1500e9ff
Vector Packet Processing
proxy.c File Reference
+ Include dependency graph for proxy.c:

Go to the source code of this file.

Data Structures

struct  proxy_connect_args_t
 

Macros

#define TCP_MSS   1460
 

Functions

static void proxy_cb_fn (void *data, u32 data_len)
 
static void proxy_call_main_thread (vnet_connect_args_t *a)
 
static void delete_proxy_session (session_t *s, int is_active_open)
 
static int common_fifo_tuning_callback (session_t *s, svm_fifo_t *f, session_ft_action_t act, u32 bytes)
 
static int proxy_accept_callback (session_t *s)
 
static void proxy_disconnect_callback (session_t *s)
 
static void proxy_reset_callback (session_t *s)
 
static int proxy_connected_callback (u32 app_index, u32 api_context, session_t *s, session_error_t err)
 
static int proxy_add_segment_callback (u32 client_index, u64 segment_handle)
 
static int proxy_rx_callback (session_t *s)
 
static int proxy_tx_callback (session_t *proxy_s)
 
static int active_open_connected_callback (u32 app_index, u32 opaque, session_t *s, session_error_t err)
 
static void active_open_reset_callback (session_t *s)
 
static int active_open_create_callback (session_t *s)
 
static void active_open_disconnect_callback (session_t *s)
 
static int active_open_rx_callback (session_t *s)
 
static int active_open_tx_callback (session_t *ao_s)
 
static int proxy_server_attach ()
 
static int active_open_attach (void)
 
static int proxy_server_listen ()
 
static int proxy_server_create (vlib_main_t *vm)
 
static clib_error_tproxy_server_create_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
clib_error_tproxy_main_init (vlib_main_t *vm)
 

Variables

proxy_main_t proxy_main
 
static session_cb_vft_t proxy_session_cb_vft
 
static session_cb_vft_t active_open_clients
 
static vlib_cli_command_t proxy_create_command
 (constructor) VLIB_CLI_COMMAND (proxy_create_command) More...
 

Macro Definition Documentation

◆ TCP_MSS

#define TCP_MSS   1460

Definition at line 25 of file proxy.c.

Function Documentation

◆ active_open_attach()

static int active_open_attach ( void  )
static

Definition at line 561 of file proxy.c.

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

◆ active_open_connected_callback()

static int active_open_connected_callback ( u32  app_index,
u32  opaque,
session_t s,
session_error_t  err 
)
static

Definition at line 365 of file proxy.c.

+ Here is the call graph for this function:

◆ active_open_create_callback()

static int active_open_create_callback ( session_t s)
static

Definition at line 429 of file proxy.c.

◆ active_open_disconnect_callback()

static void active_open_disconnect_callback ( session_t s)
static

Definition at line 435 of file proxy.c.

+ Here is the call graph for this function:

◆ active_open_reset_callback()

static void active_open_reset_callback ( session_t s)
static

Definition at line 423 of file proxy.c.

+ Here is the call graph for this function:

◆ active_open_rx_callback()

static int active_open_rx_callback ( session_t s)
static

Definition at line 441 of file proxy.c.

+ Here is the call graph for this function:

◆ active_open_tx_callback()

static int active_open_tx_callback ( session_t ao_s)
static

Definition at line 466 of file proxy.c.

+ Here is the call graph for this function:

◆ common_fifo_tuning_callback()

static int common_fifo_tuning_callback ( session_t s,
svm_fifo_t f,
session_ft_action_t  act,
u32  bytes 
)
static

Definition at line 144 of file proxy.c.

+ Here is the call graph for this function:

◆ delete_proxy_session()

static void delete_proxy_session ( session_t s,
int  is_active_open 
)
static

Definition at line 65 of file proxy.c.

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

◆ proxy_accept_callback()

static int proxy_accept_callback ( session_t s)
static

Definition at line 188 of file proxy.c.

+ Here is the call graph for this function:

◆ proxy_add_segment_callback()

static int proxy_add_segment_callback ( u32  client_index,
u64  segment_handle 
)
static

Definition at line 221 of file proxy.c.

◆ proxy_call_main_thread()

static void proxy_call_main_thread ( vnet_connect_args_t a)
static

Definition at line 48 of file proxy.c.

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

◆ proxy_cb_fn()

static void proxy_cb_fn ( void *  data,
u32  data_len 
)
static

Definition at line 35 of file proxy.c.

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

◆ proxy_connected_callback()

static int proxy_connected_callback ( u32  app_index,
u32  api_context,
session_t s,
session_error_t  err 
)
static

Definition at line 213 of file proxy.c.

◆ proxy_disconnect_callback()

static void proxy_disconnect_callback ( session_t s)
static

Definition at line 200 of file proxy.c.

+ Here is the call graph for this function:

◆ proxy_main_init()

clib_error_t* proxy_main_init ( vlib_main_t vm)

Definition at line 753 of file proxy.c.

◆ proxy_reset_callback()

static void proxy_reset_callback ( session_t s)
static

Definition at line 206 of file proxy.c.

+ Here is the call graph for this function:

◆ proxy_rx_callback()

static int proxy_rx_callback ( session_t s)
static

Definition at line 228 of file proxy.c.

+ Here is the call graph for this function:

◆ proxy_server_attach()

static int proxy_server_attach ( )
static

Definition at line 521 of file proxy.c.

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

◆ proxy_server_create()

static int proxy_server_create ( vlib_main_t vm)
static

Definition at line 612 of file proxy.c.

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

◆ proxy_server_create_command_fn()

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

Definition at line 656 of file proxy.c.

+ Here is the call graph for this function:

◆ proxy_server_listen()

static int proxy_server_listen ( )
static

Definition at line 601 of file proxy.c.

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

◆ proxy_tx_callback()

static int proxy_tx_callback ( session_t proxy_s)
static

Definition at line 311 of file proxy.c.

+ Here is the call graph for this function:

Variable Documentation

◆ active_open_clients

session_cb_vft_t active_open_clients
static
Initial value:
= {
.session_reset_callback = active_open_reset_callback,
.session_connected_callback = active_open_connected_callback,
.session_accept_callback = active_open_create_callback,
.session_disconnect_callback = active_open_disconnect_callback,
.builtin_app_rx_callback = active_open_rx_callback,
.builtin_app_tx_callback = active_open_tx_callback,
.fifo_tuning_callback = common_fifo_tuning_callback
}
static int active_open_rx_callback(session_t *s)
Definition: proxy.c:441
static int active_open_create_callback(session_t *s)
Definition: proxy.c:429
static int common_fifo_tuning_callback(session_t *s, svm_fifo_t *f, session_ft_action_t act, u32 bytes)
Definition: proxy.c:144
static void active_open_disconnect_callback(session_t *s)
Definition: proxy.c:435
static int active_open_connected_callback(u32 app_index, u32 opaque, session_t *s, session_error_t err)
Definition: proxy.c:365
static void active_open_reset_callback(session_t *s)
Definition: proxy.c:423
static int active_open_tx_callback(session_t *ao_s)
Definition: proxy.c:466

Definition at line 509 of file proxy.c.

◆ proxy_create_command

vlib_cli_command_t proxy_create_command
static
Initial value:
=
{
.path = "test proxy server",
.short_help = "test proxy server [server-uri <tcp://ip/port>]"
"[client-uri <tcp://ip/port>][fifo-size <nn>[k|m]]"
"[max-fifo-size <nn>[k|m]][high-watermark <nn>]"
"[low-watermark <nn>][rcv-buf-size <nn>][prealloc-fifos <nn>]"
"[private-segment-size <mem>][private-segment-count <nn>]",
}
static clib_error_t * proxy_server_create_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: proxy.c:656

(constructor) VLIB_CLI_COMMAND (proxy_create_command)

Definition at line 740 of file proxy.c.

◆ proxy_main

proxy_main_t proxy_main

Definition at line 23 of file proxy.c.

◆ proxy_session_cb_vft

session_cb_vft_t proxy_session_cb_vft
static
Initial value:
= {
.session_accept_callback = proxy_accept_callback,
.session_disconnect_callback = proxy_disconnect_callback,
.session_connected_callback = proxy_connected_callback,
.add_segment_callback = proxy_add_segment_callback,
.builtin_app_rx_callback = proxy_rx_callback,
.builtin_app_tx_callback = proxy_tx_callback,
.session_reset_callback = proxy_reset_callback,
.fifo_tuning_callback = common_fifo_tuning_callback
}
static int proxy_accept_callback(session_t *s)
Definition: proxy.c:188
static void proxy_reset_callback(session_t *s)
Definition: proxy.c:206
static int proxy_connected_callback(u32 app_index, u32 api_context, session_t *s, session_error_t err)
Definition: proxy.c:213
static int proxy_tx_callback(session_t *proxy_s)
Definition: proxy.c:311
static int common_fifo_tuning_callback(session_t *s, svm_fifo_t *f, session_ft_action_t act, u32 bytes)
Definition: proxy.c:144
static int proxy_rx_callback(session_t *s)
Definition: proxy.c:228
static void proxy_disconnect_callback(session_t *s)
Definition: proxy.c:200
static int proxy_add_segment_callback(u32 client_index, u64 segment_handle)
Definition: proxy.c:221

Definition at line 353 of file proxy.c.