vcl: wait for segments with segment handle
[vpp.git] / src / vnet / session / application_interface.c
index f0722d6..d254b9b 100644 (file)
@@ -163,7 +163,12 @@ session_endpoint_update_for_app (session_endpoint_cfg_t * sep,
    * that "supports" app's namespace. This will fix our local connection
    * endpoint.
    */
-  fib_index = sep->is_ip4 ? app_ns->ip4_fib_index : app_ns->ip6_fib_index;
+
+  /* If in default namespace and user requested a fib index use it */
+  if (ns_index == 0 && sep->fib_index != ENDPOINT_INVALID_INDEX)
+    fib_index = sep->fib_index;
+  else
+    fib_index = sep->is_ip4 ? app_ns->ip4_fib_index : app_ns->ip6_fib_index;
   sep->peer.fib_index = fib_index;
   sep->fib_index = fib_index;
 
@@ -553,6 +558,7 @@ vnet_application_attach (vnet_app_attach_args_t * a)
 
   ASSERT (vec_len (fs->ssvm.name) <= 128);
   a->segment = &fs->ssvm;
+  a->segment_handle = segment_manager_segment_handle (sm, fs);
 
   segment_manager_segment_reader_unlock (sm);
   vec_free (app_name);