X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Fapplication_interface.c;h=a6d1a029f1336a5b4bcc814f6415926ba7807a82;hb=07063b8ea;hp=2283b0f6f94e80e4cbcccd25ac71e27790e681ca;hpb=ba123e152bc16197654c8ac85550a6b1f7b8a791;p=vpp.git diff --git a/src/vnet/session/application_interface.c b/src/vnet/session/application_interface.c index 2283b0f6f94..a6d1a029f13 100644 --- a/src/vnet/session/application_interface.c +++ b/src/vnet/session/application_interface.c @@ -79,10 +79,9 @@ unformat_vnet_uri (unformat_input_t * input, va_list * args) return 1; } else if (unformat (input, "%U://session/%lu", unformat_transport_proto, - &transport_proto, &sep->transport_opts)) + &transport_proto, &sep->parent_handle)) { sep->transport_proto = transport_proto; - sep->is_ip4 = 1; sep->ip.ip4.as_u32 = 1; /* ip need to be non zero in vnet */ return 1; } @@ -143,6 +142,7 @@ int vnet_unbind_uri (vnet_unlisten_args_t * a) { session_endpoint_cfg_t sep = SESSION_ENDPOINT_CFG_NULL; + application_t *app; session_t *listener; u32 table_index; int rv; @@ -150,9 +150,11 @@ vnet_unbind_uri (vnet_unlisten_args_t * a) if ((rv = parse_uri (a->uri, &sep))) return rv; - /* NOTE: only default fib tables supported for uri apis */ - table_index = session_lookup_get_index_for_fib (fib_ip_proto (!sep.is_ip4), - 0); + app = application_get (a->app_index); + if (!app) + return VNET_API_ERROR_INVALID_VALUE; + + table_index = application_session_table (app, fib_ip_proto (!sep.is_ip4)); listener = session_lookup_listener (table_index, (session_endpoint_t *) & sep); if (!listener)