session: return bound listener for proxy accepts
[vpp.git] / src / vnet / session / application.c
index e7e5808..9a540f6 100644 (file)
@@ -523,7 +523,8 @@ application_first_listener (application_t * app, u8 fib_proto,
   /* *INDENT-OFF* */
    hash_foreach (handle, sm_index, app->listeners_table, ({
      listener = listen_session_get_from_handle (handle);
-     if (listener->session_type == sst)
+     if (listener->session_type == sst
+        && listener->listener_index != SESSION_PROXY_LISTENER_INDEX)
        return listener;
    }));
   /* *INDENT-ON* */
@@ -550,6 +551,7 @@ application_start_stop_proxy_fib_proto (application_t * app, u8 fib_proto,
       sep.transport_proto = transport_proto;
       application_start_listen (app, &sep, &handle);
       s = listen_session_get_from_handle (handle);
+      s->listener_index = SESSION_PROXY_LISTENER_INDEX;
     }
   else
     {
@@ -737,12 +739,12 @@ format_application (u8 * s, va_list * args)
     {
       if (verbose)
        s = format (s, "%-10s%-20s%-15s%-15s%-15s%-15s%-15s", "Index", "Name",
-                   "Namespace", "API Client", "Add seg size", "Rx fifo size",
+                   "API Client", "Namespace", "Add seg size", "Rx fifo size",
                    "Tx fifo size");
       else
        s =
-         format (s, "%-10s%-20s%-15s%-20s", "Index", "Name", "Namespace",
-                 "API Client");
+         format (s, "%-10s%-20s%-15s%-40s", "Index", "Name", "API Client",
+                 "Namespace");
       return s;
     }
 
@@ -751,13 +753,13 @@ format_application (u8 * s, va_list * args)
   props = segment_manager_properties_get (app->sm_properties);
   if (verbose)
     s =
-      format (s, "%-10d%-20s%-15s%-15d%-15d%-15d%-15d", app->index, app_name,
-             app_ns_name, app->api_client_index,
+      format (s, "%-10d%-20s%-15d%-15d%-15d%-15d%-15d", app->index, app_name,
+             app->api_client_index, app->ns_index,
              props->add_segment_size,
              props->rx_fifo_size, props->tx_fifo_size);
   else
-    s = format (s, "%-10d%-20s%-15s%-20d", app->index, app_name, app_ns_name,
-               app->api_client_index);
+    s = format (s, "%-10d%-20s%-15d%-40s", app->index, app_name,
+               app->api_client_index, app_ns_name);
   return s;
 }