X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Ftcp%2Fbuiltin_server.c;h=2ea9068a597e7d9c14aa734ccc5bd71b8fb03c5c;hb=b384b543313b6b47a277c903e9d4fcd4343054fa;hp=27c4370389fce16b6d86e608e82eb2cd49077dfa;hpb=3cbc04bea02fc60471dfe0c671ede3ca42c118c3;p=vpp.git diff --git a/src/vnet/tcp/builtin_server.c b/src/vnet/tcp/builtin_server.c index 27c4370389f..2ea9068a597 100644 --- a/src/vnet/tcp/builtin_server.c +++ b/src/vnet/tcp/builtin_server.c @@ -23,8 +23,8 @@ typedef struct /* * 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 */ @@ -95,8 +95,7 @@ builtin_session_connected_callback (u32 app_index, u32 api_context, } 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; @@ -186,14 +185,14 @@ builtin_server_rx_callback (stream_session_t * s) /* 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) @@ -231,9 +230,8 @@ builtin_server_rx_callback (stream_session_t * s) 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"); } @@ -272,9 +270,9 @@ static int 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)); @@ -285,26 +283,27 @@ server_attach (u8 * appns_id, u64 appns_flags, u64 appns_secret) 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)) {