+ client_wrk = app_worker_get_if_valid (ls->client_wrk_index);
+ server_wrk = app_worker_get (ls->app_wrk_index);
+
+ if (server_wrk->app_index == a->app_index)
+ wrk_index = server_wrk->wrk_index;
+ else if (client_wrk && client_wrk->app_index == a->app_index)
+ wrk_index = client_wrk->wrk_index;
+
+ if (wrk_index == ~0)
+ {
+ clib_warning ("app %u does not own session 0x%lx", a->app_index,
+ application_local_session_handle (ls));
+ return VNET_API_ERROR_INVALID_VALUE;
+ }
+
+ return app_worker_local_session_disconnect (wrk_index, ls);