aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/session
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/session')
-rw-r--r--src/vnet/session/application.c13
-rw-r--r--src/vnet/session/application_interface.h18
-rw-r--r--src/vnet/session/segment_manager.c21
-rw-r--r--src/vnet/session/segment_manager.h1
-rwxr-xr-xsrc/vnet/session/session_api.c6
-rw-r--r--src/vnet/session/session_test.c8
6 files changed, 28 insertions, 39 deletions
diff --git a/src/vnet/session/application.c b/src/vnet/session/application.c
index 3e6ac98b27f..f6151b6b487 100644
--- a/src/vnet/session/application.c
+++ b/src/vnet/session/application.c
@@ -237,8 +237,8 @@ application_init (application_t * app, u32 api_client_index, u64 * options,
u32 default_rx_fifo_size = 16 << 10, default_tx_fifo_size = 16 << 10;
int rv;
- app_evt_queue_size = options[APP_EVT_QUEUE_SIZE] > 0 ?
- options[APP_EVT_QUEUE_SIZE] : default_app_evt_queue_size;
+ app_evt_queue_size = options[APP_OPTIONS_EVT_QUEUE_SIZE] > 0 ?
+ options[APP_OPTIONS_EVT_QUEUE_SIZE] : default_app_evt_queue_size;
/*
* Setup segment manager
@@ -247,11 +247,11 @@ application_init (application_t * app, u32 api_client_index, u64 * options,
sm->app_index = app->index;
props = segment_manager_properties_alloc ();
app->sm_properties = segment_manager_properties_index (props);
- props->add_segment_size = options[SESSION_OPTIONS_ADD_SEGMENT_SIZE];
- props->rx_fifo_size = options[SESSION_OPTIONS_RX_FIFO_SIZE];
+ props->add_segment_size = options[APP_OPTIONS_ADD_SEGMENT_SIZE];
+ props->rx_fifo_size = options[APP_OPTIONS_RX_FIFO_SIZE];
props->rx_fifo_size =
props->rx_fifo_size ? props->rx_fifo_size : default_rx_fifo_size;
- props->tx_fifo_size = options[SESSION_OPTIONS_TX_FIFO_SIZE];
+ props->tx_fifo_size = options[APP_OPTIONS_TX_FIFO_SIZE];
props->tx_fifo_size =
props->tx_fifo_size ? props->tx_fifo_size : default_tx_fifo_size;
props->add_segment = props->add_segment_size != 0;
@@ -259,9 +259,8 @@ application_init (application_t * app, u32 api_client_index, u64 * options,
props->use_private_segment = options[APP_OPTIONS_FLAGS]
& APP_OPTIONS_FLAGS_IS_BUILTIN;
props->private_segment_count = options[APP_OPTIONS_PRIVATE_SEGMENT_COUNT];
- props->private_segment_size = options[APP_OPTIONS_PRIVATE_SEGMENT_SIZE];
- first_seg_size = options[SESSION_OPTIONS_SEGMENT_SIZE];
+ first_seg_size = options[APP_OPTIONS_SEGMENT_SIZE];
if ((rv = segment_manager_init (sm, app->sm_properties, first_seg_size)))
return rv;
sm->first_is_protected = 1;
diff --git a/src/vnet/session/application_interface.h b/src/vnet/session/application_interface.h
index 686b4181a7c..68973a9f938 100644
--- a/src/vnet/session/application_interface.h
+++ b/src/vnet/session/application_interface.h
@@ -101,21 +101,19 @@ typedef struct _vnet_disconnect_args_t
/* Application attach options */
typedef enum
{
- APP_EVT_QUEUE_SIZE,
APP_OPTIONS_FLAGS,
- APP_OPTIONS_PREALLOC_FIFO_PAIRS,
+ APP_OPTIONS_EVT_QUEUE_SIZE,
+ APP_OPTIONS_SEGMENT_SIZE,
+ APP_OPTIONS_ADD_SEGMENT_SIZE,
APP_OPTIONS_PRIVATE_SEGMENT_COUNT,
- APP_OPTIONS_PRIVATE_SEGMENT_SIZE,
+ APP_OPTIONS_RX_FIFO_SIZE,
+ APP_OPTIONS_TX_FIFO_SIZE,
+ APP_OPTIONS_PREALLOC_FIFO_PAIRS,
APP_OPTIONS_NAMESPACE,
APP_OPTIONS_NAMESPACE_SECRET,
APP_OPTIONS_PROXY_TRANSPORT,
- SESSION_OPTIONS_SEGMENT_SIZE,
- SESSION_OPTIONS_ADD_SEGMENT_SIZE,
- SESSION_OPTIONS_RX_FIFO_SIZE,
- SESSION_OPTIONS_TX_FIFO_SIZE,
- SESSION_OPTIONS_PREALLOCATED_FIFO_PAIRS,
- SESSION_OPTIONS_ACCEPT_COOKIE,
- SESSION_OPTIONS_N_OPTIONS
+ APP_OPTIONS_ACCEPT_COOKIE,
+ APP_OPTIONS_N_OPTIONS
} app_attach_options_index_t;
#define foreach_app_options_flags \
diff --git a/src/vnet/session/segment_manager.c b/src/vnet/session/segment_manager.c
index e448023ddd0..9e6a1b55cbb 100644
--- a/src/vnet/session/segment_manager.c
+++ b/src/vnet/session/segment_manager.c
@@ -116,16 +116,11 @@ session_manager_add_segment_i (segment_manager_t * sm, u32 segment_size,
u64 approx_total_size;
ca->segment_name = "process-private-segment";
- ca->segment_size = ~0;
+ ca->segment_size = segment_size;
ca->rx_fifo_size = props->rx_fifo_size;
ca->tx_fifo_size = props->tx_fifo_size;
ca->preallocated_fifo_pairs = props->preallocated_fifo_pairs;
ca->private_segment_count = props->private_segment_count;
- ca->private_segment_size = props->private_segment_size;
-
- /* Default to a small private segment */
- if (ca->private_segment_size == 0)
- ca->private_segment_size = 128 << 20;
/* Calculate space requirements */
rx_rounded_data_size = (1 << (max_log2 (ca->rx_fifo_size)));
@@ -136,9 +131,8 @@ session_manager_add_segment_i (segment_manager_t * sm, u32 segment_size,
approx_total_size = (u64) ca->preallocated_fifo_pairs
* (rx_fifo_size + tx_fifo_size);
- approx_segment_count =
- (approx_total_size +
- (ca->private_segment_size - 1)) / (u64) ca->private_segment_size;
+ approx_segment_count = (approx_total_size + (ca->segment_size - 1))
+ / (u64) ca->segment_size;
/* The user asked us to figure it out... */
if (ca->private_segment_count == 0)
@@ -148,9 +142,8 @@ session_manager_add_segment_i (segment_manager_t * sm, u32 segment_size,
/* Follow directions, but issue a warning */
else if (approx_segment_count != ca->private_segment_count)
{
- clib_warning
- ("Honoring segment count %u, but calculated count was %u",
- ca->private_segment_count, approx_segment_count);
+ clib_warning ("Honoring segment count %u, calculated count was %u",
+ ca->private_segment_count, approx_segment_count);
}
if (svm_fifo_segment_create_process_private (ca))
@@ -624,7 +617,7 @@ segment_manager_show_fn (vlib_main_t * vm, unformat_input_t * input,
segments = svm_fifo_segment_segments_pool ();
vlib_cli_output (vm, "%d svm fifo segments allocated",
pool_elts (segments));
- vlib_cli_output (vm, "%-20s%=12s%=16s%=16s%=16s", "Name",
+ vlib_cli_output (vm, "%-25s%15s%16s%16s%16s", "Name",
"HeapSize (M)", "ActiveFifos", "FreeFifos", "Address");
/* *INDENT-OFF* */
@@ -647,7 +640,7 @@ segment_manager_show_fn (vlib_main_t * vm, unformat_input_t * input,
}
active_fifos = svm_fifo_segment_num_fifos (seg);
free_fifos = svm_fifo_segment_num_free_fifos (seg, ~0 /* size */);
- vlib_cli_output (vm, "%-20v%=16llu%=16u%=16u%16llx",
+ vlib_cli_output (vm, "%-25v%15llu%16u%16u%16llx",
name, size >> 20ULL, active_fifos, free_fifos,
address);
if (verbose)
diff --git a/src/vnet/session/segment_manager.h b/src/vnet/session/segment_manager.h
index f6494616a9f..9d2d141e7b4 100644
--- a/src/vnet/session/segment_manager.h
+++ b/src/vnet/session/segment_manager.h
@@ -42,7 +42,6 @@ typedef struct _segment_manager_properties
/** Use one or more private mheaps, instead of the global heap */
u32 private_segment_count;
- u32 private_segment_size;
} segment_manager_properties_t;
typedef struct _segment_manager
diff --git a/src/vnet/session/session_api.c b/src/vnet/session/session_api.c
index 57f55eb0db8..1fd84ab7c43 100755
--- a/src/vnet/session/session_api.c
+++ b/src/vnet/session/session_api.c
@@ -253,8 +253,8 @@ redirect_connect_callback (u32 server_api_client_index, void *mp_arg)
}
props = segment_manager_properties_get (app->sm_properties);
- mp->options[SESSION_OPTIONS_RX_FIFO_SIZE] = props->rx_fifo_size;
- mp->options[SESSION_OPTIONS_TX_FIFO_SIZE] = props->tx_fifo_size;
+ mp->options[APP_OPTIONS_RX_FIFO_SIZE] = props->rx_fifo_size;
+ mp->options[APP_OPTIONS_TX_FIFO_SIZE] = props->tx_fifo_size;
/*
* Bounce message handlers MUST NOT block the data-plane.
@@ -321,7 +321,7 @@ vl_api_application_attach_t_handler (vl_api_application_attach_t * mp)
goto done;
}
- STATIC_ASSERT (sizeof (u64) * SESSION_OPTIONS_N_OPTIONS <=
+ STATIC_ASSERT (sizeof (u64) * APP_OPTIONS_N_OPTIONS <=
sizeof (mp->options),
"Out of options, fix api message definition");
diff --git a/src/vnet/session/session_test.c b/src/vnet/session/session_test.c
index 1303e8b9fdf..64657c11da0 100644
--- a/src/vnet/session/session_test.c
+++ b/src/vnet/session/session_test.c
@@ -102,7 +102,7 @@ static int
session_test_basic (vlib_main_t * vm, unformat_input_t * input)
{
session_endpoint_t server_sep = SESSION_ENDPOINT_NULL;
- u64 options[SESSION_OPTIONS_N_OPTIONS], bind4_handle, bind6_handle;
+ u64 options[APP_OPTIONS_N_OPTIONS], bind4_handle, bind6_handle;
u8 segment_name[128];
clib_error_t *error = 0;
u32 server_index;
@@ -167,7 +167,7 @@ session_test_basic (vlib_main_t * vm, unformat_input_t * input)
static int
session_test_namespace (vlib_main_t * vm, unformat_input_t * input)
{
- u64 options[SESSION_OPTIONS_N_OPTIONS], dummy_secret = 1234;
+ u64 options[APP_OPTIONS_N_OPTIONS], dummy_secret = 1234;
u32 server_index, server_st_index, server_local_st_index;
u32 dummy_port = 1234, local_listener, client_index;
u32 dummy_api_context = 4321, dummy_client_api_index = 1234;
@@ -774,7 +774,7 @@ static int
session_test_rules (vlib_main_t * vm, unformat_input_t * input)
{
session_endpoint_t server_sep = SESSION_ENDPOINT_NULL;
- u64 options[SESSION_OPTIONS_N_OPTIONS];
+ u64 options[APP_OPTIONS_N_OPTIONS];
u16 lcl_port = 1234, rmt_port = 4321;
u32 server_index, server_index2, app_index;
u32 dummy_server_api_index = ~0;
@@ -1335,7 +1335,7 @@ session_test_rules (vlib_main_t * vm, unformat_input_t * input)
static int
session_test_proxy (vlib_main_t * vm, unformat_input_t * input)
{
- u64 options[SESSION_OPTIONS_N_OPTIONS];
+ u64 options[APP_OPTIONS_N_OPTIONS];
char *show_listeners = "sh session listeners tcp verbose";
char *show_local_listeners = "sh app ns table default";
unformat_input_t tmp_input;