session: segment manager refactor
[vpp.git] / src / vnet / session / session_api.c
index 5201ec6..57af960 100755 (executable)
@@ -290,7 +290,7 @@ redirect_connect_callback (u32 server_api_client_index, void *mp_arg)
       return -1;
     }
 
-  props = segment_manager_properties_get (app->sm_properties);
+  props = application_segment_manager_properties (app);
   mp->options[APP_OPTIONS_RX_FIFO_SIZE] = props->rx_fifo_size;
   mp->options[APP_OPTIONS_TX_FIFO_SIZE] = props->tx_fifo_size;
 
@@ -354,6 +354,10 @@ vl_api_application_attach_t_handler (vl_api_application_attach_t * mp)
   clib_error_t *error = 0;
   int rv = 0;
 
+  reg = vl_api_client_index_to_registration (mp->client_index);
+  if (!reg)
+    return;
+
   if (session_manager_is_enabled () == 0)
     {
       rv = VNET_API_ERROR_FEATURE_DISABLED;
@@ -410,8 +414,6 @@ done:
   if (rv)
     return;
 
-  reg = vl_api_client_index_to_registration (mp->client_index);
-
   /* Send fifo segment fd if needed */
   if (ssvm_type (a->segment) == SSVM_SEGMENT_MEMFD)
     session_send_memfd_fd (reg, a->segment);