/*
* Server app parameters
*/
- unix_shared_memory_queue_t **vpp_queue;
- unix_shared_memory_queue_t *vl_input_queue; /**< Sever's event queue */
+ svm_queue_t **vpp_queue;
+ svm_queue_t *vl_input_queue; /**< Sever's event queue */
u32 app_index; /**< Server app index */
u32 my_client_index; /**< API client handle */
}
int
-builtin_add_segment_callback (u32 client_index,
- const u8 * seg_name, u32 seg_size)
+builtin_add_segment_callback (u32 client_index, const ssvm_private_t * sp)
{
clib_warning ("called...");
return -1;
/* Program self-tap to retry */
if (svm_fifo_set_event (rx_fifo))
{
- unix_shared_memory_queue_t *q;
+ svm_queue_t *q;
evt.fifo = rx_fifo;
evt.event_type = FIFO_EVENT_BUILTIN_RX;
q = bsm->vpp_queue[thread_index];
if (PREDICT_FALSE (q->cursize == q->maxsize))
clib_warning ("out of event queue space");
- else if (unix_shared_memory_queue_add (q, (u8 *) & evt, 0))
+ else if (svm_queue_add (q, (u8 *) & evt, 0))
clib_warning ("failed to enqueue self-tap");
if (bsm->rx_retries[thread_index][s->session_index] == 500000)
evt.fifo = tx_fifo;
evt.event_type = FIFO_EVENT_APP_TX;
- if (unix_shared_memory_queue_add (bsm->vpp_queue[s->thread_index],
- (u8 *) & evt,
- 0 /* do wait for mutex */ ))
+ if (svm_queue_add (bsm->vpp_queue[s->thread_index],
+ (u8 *) & evt, 0 /* do wait for mutex */ ))
clib_warning ("failed to enqueue tx evt");
}
server_attach (u8 * appns_id, u64 appns_flags, u64 appns_secret)
{
builtin_server_main_t *bsm = &builtin_server_main;
- u8 segment_name[128];
- u64 options[SESSION_OPTIONS_N_OPTIONS];
+ u64 options[APP_OPTIONS_N_OPTIONS];
vnet_app_attach_args_t _a, *a = &_a;
+ u32 segment_size = 512 << 20;
memset (a, 0, sizeof (*a));
memset (options, 0, sizeof (options));
else
builtin_session_cb_vft.builtin_server_rx_callback =
builtin_server_rx_callback;
+
+ if (bsm->private_segment_size)
+ segment_size = bsm->private_segment_size;
+
a->api_client_index = bsm->my_client_index;
a->session_cb_vft = &builtin_session_cb_vft;
a->options = options;
- a->options[SESSION_OPTIONS_SEGMENT_SIZE] = 512 << 20;
- a->options[SESSION_OPTIONS_RX_FIFO_SIZE] = bsm->fifo_size;
- a->options[SESSION_OPTIONS_TX_FIFO_SIZE] = bsm->fifo_size;
+ a->options[APP_OPTIONS_SEGMENT_SIZE] = segment_size;
+ a->options[APP_OPTIONS_RX_FIFO_SIZE] = bsm->fifo_size;
+ a->options[APP_OPTIONS_TX_FIFO_SIZE] = bsm->fifo_size;
a->options[APP_OPTIONS_PRIVATE_SEGMENT_COUNT] = bsm->private_segment_count;
- a->options[APP_OPTIONS_PRIVATE_SEGMENT_SIZE] = bsm->private_segment_size;
a->options[APP_OPTIONS_PREALLOC_FIFO_PAIRS] =
bsm->prealloc_fifos ? bsm->prealloc_fifos : 1;
- a->options[APP_OPTIONS_FLAGS] = APP_OPTIONS_FLAGS_BUILTIN_APP;
+ a->options[APP_OPTIONS_FLAGS] = APP_OPTIONS_FLAGS_IS_BUILTIN;
if (appns_id)
{
a->namespace_id = appns_id;
a->options[APP_OPTIONS_FLAGS] |= appns_flags;
a->options[APP_OPTIONS_NAMESPACE_SECRET] = appns_secret;
}
- a->segment_name = segment_name;
- a->segment_name_length = ARRAY_LEN (segment_name);
if (vnet_application_attach (a))
{