From ade70e459deeaf143e5321603176c3fd3ee1503b Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Sat, 14 Oct 2017 18:56:41 -0700 Subject: session: return local transport endpoint in connect reply Change-Id: I7794d5a0774017da4c1c15f45783a18754994ac8 Signed-off-by: Florin Coras --- src/vnet/session/session_api.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/vnet/session/session_api.c') diff --git a/src/vnet/session/session_api.c b/src/vnet/session/session_api.c index 432c7ba6013..e9ddbce7f94 100755 --- a/src/vnet/session/session_api.c +++ b/src/vnet/session/session_api.c @@ -160,6 +160,7 @@ send_session_connected_callback (u32 app_index, u32 api_context, unix_shared_memory_queue_t *q; application_t *app; unix_shared_memory_queue_t *vpp_queue; + transport_connection_t *tc; app = application_get (app_index); q = vl_api_client_index_to_input_queue (app->api_client_index); @@ -167,6 +168,9 @@ send_session_connected_callback (u32 app_index, u32 api_context, if (!q) return -1; + tc = session_get_transport (s); + if (!tc) + is_fail = 1; mp = vl_msg_api_alloc (sizeof (*mp)); mp->_vl_msg_id = clib_host_to_net_u16 (VL_API_CONNECT_SESSION_REPLY); mp->context = api_context; @@ -177,6 +181,9 @@ send_session_connected_callback (u32 app_index, u32 api_context, mp->server_tx_fifo = pointer_to_uword (s->server_tx_fifo); mp->handle = session_handle (s); mp->vpp_event_queue_address = pointer_to_uword (vpp_queue); + clib_memcpy (mp->lcl_ip, &tc->lcl_ip, sizeof (tc->lcl_ip)); + mp->is_ip4 = tc->is_ip4; + mp->lcl_port = tc->lcl_port; mp->retval = 0; } else -- cgit 1.2.3-korg