From eb2945cf6ffa35c3b22c2fa0c85bc67c9c39045a Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Wed, 22 Nov 2017 10:39:09 -0800 Subject: [PATCH 1/1] session: do not check transport for local table binds Change-Id: I326c4472e5da8b6c0737655952d1983c7a0ea996 Signed-off-by: Florin Coras --- src/vnet/session/session_api.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/vnet/session/session_api.c b/src/vnet/session/session_api.c index 3a382e5d454..e987854bc73 100755 --- a/src/vnet/session/session_api.c +++ b/src/vnet/session/session_api.c @@ -624,7 +624,7 @@ vl_api_bind_sock_t_handler (vl_api_bind_sock_t * mp) vnet_bind_args_t _a, *a = &_a; int rv = 0; clib_error_t *error; - application_t *app; + application_t *app = 0; stream_session_t *s; transport_connection_t *tc = 0; ip46_address_t *ip46; @@ -657,11 +657,6 @@ vl_api_bind_sock_t_handler (vl_api_bind_sock_t * mp) rv = clib_error_get_code (error); clib_error_report (error); } - else - { - s = listen_session_get_from_handle (a->handle); - tc = listen_session_get_transport (s); - } done: /* *INDENT-OFF* */ @@ -669,9 +664,14 @@ done: if (!rv) { rmp->handle = a->handle; - rmp->lcl_is_ip4 = tc->is_ip4; - clib_memcpy (rmp->lcl_ip, &tc->lcl_ip, sizeof (tc->lcl_ip)); - rmp->lcl_port = tc->lcl_port; + rmp->lcl_port = mp->port; + if (application_has_global_scope (app)) + { + s = listen_session_get_from_handle (a->handle); + tc = listen_session_get_transport (s); + rmp->lcl_is_ip4 = tc->is_ip4; + clib_memcpy (rmp->lcl_ip, &tc->lcl_ip, sizeof (tc->lcl_ip)); + } } })); /* *INDENT-ON* */ -- 2.16.6