{
vl_api_connect_sock_t *mp = mp_arg;
unix_shared_memory_queue_t *server_q, *client_q;
+ segment_manager_properties_t *props;
vlib_main_t *vm = vlib_get_main ();
f64 timeout = vlib_time_now (vm) + 0.5;
application_t *app;
return -1;
}
- mp->options[SESSION_OPTIONS_RX_FIFO_SIZE] = app->sm_properties.rx_fifo_size;
- mp->options[SESSION_OPTIONS_TX_FIFO_SIZE] = app->sm_properties.tx_fifo_size;
+ 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;
/*
* Bounce message handlers MUST NOT block the data-plane.
app = application_lookup (mp->client_index);
if (app)
{
- a->app_index = mp->client_index;
+ a->app_index = app->index;
a->handle = mp->handle;
if ((error = vnet_unbind (a)))
{
vl_api_app_namespace_add_del_t_handler (vl_api_app_namespace_add_del_t * mp)
{
vl_api_app_namespace_add_del_reply_t *rmp;
- u8 *ns_id = 0;
clib_error_t *error = 0;
+ u32 appns_index = 0;
+ u8 *ns_id = 0;
int rv = 0;
if (!session_manager_is_enabled ())
{
rv = clib_error_get_code (error);
clib_error_report (error);
}
+ else
+ {
+ appns_index = app_namespace_index_from_id (ns_id);
+ if (appns_index == APP_NAMESPACE_INVALID_INDEX)
+ {
+ clib_warning ("app ns lookup failed");
+ rv = VNET_API_ERROR_UNSPECIFIED;
+ }
+ }
vec_free (ns_id);
+
+ /* *INDENT-OFF* */
done:
- REPLY_MACRO (VL_API_APP_NAMESPACE_ADD_DEL_REPLY);
+ REPLY_MACRO2 (VL_API_APP_NAMESPACE_ADD_DEL_REPLY, ({
+ if (!rv)
+ rmp->appns_index = clib_host_to_net_u32 (appns_index);
+ }));
+ /* *INDENT-ON* */
}
static void