X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Fapplication_interface.c;h=8dab3d67bce4954f41da756a2ca605683d002e14;hb=a2ff7b8cfc829ffbb6d5de7534efb51f7cba9cf3;hp=a9dda0227511af9b86ffdcd299581a46700ad73e;hpb=264080855e4b33cef5cb19a948f2df2ae597073f;p=vpp.git diff --git a/src/vnet/session/application_interface.c b/src/vnet/session/application_interface.c index a9dda022751..8dab3d67bce 100644 --- a/src/vnet/session/application_interface.c +++ b/src/vnet/session/application_interface.c @@ -109,7 +109,7 @@ vnet_bind_i (u32 app_index, session_endpoint_t * sep, u64 * handle) table_index = application_session_table (app, session_endpoint_fib_proto (sep)); - listener = session_lookup_session_endpoint (table_index, sep); + listener = session_lookup_endpoint_listener (table_index, sep, 1); if (listener != SESSION_INVALID_HANDLE) return VNET_API_ERROR_ADDRESS_IN_USE; @@ -120,7 +120,7 @@ vnet_bind_i (u32 app_index, session_endpoint_t * sep, u64 * handle) if (application_has_local_scope (app) && session_endpoint_is_zero (sep)) { table_index = application_local_session_table (app); - listener = session_lookup_session_endpoint (table_index, sep); + listener = session_lookup_endpoint_listener (table_index, sep, 1); if (listener != SESSION_INVALID_HANDLE) return VNET_API_ERROR_ADDRESS_IN_USE; session_lookup_add_session_endpoint (table_index, sep, app->index); @@ -223,7 +223,9 @@ vnet_connect_i (u32 app_index, u32 api_context, session_endpoint_t * sep, if (application_has_local_scope (app)) { table_index = application_local_session_table (app); - server_index = session_lookup_local_session_endpoint (table_index, sep); + server_index = session_lookup_local_endpoint (table_index, sep); + if (server_index == APP_DROP_INDEX) + return VNET_API_ERROR_APP_CONNECT_FILTERED; /* * Break loop if rule in local table points to connecting app. This