X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Fsession_api.c;h=60f764af48afb970e10601bc7c315e383cc7f797;hb=f03a59ab008908f98fd7d1b187a8c0fb78b01add;hp=8c073a08070e0584b5e167742d6c183b4619e20f;hpb=0194f1aeefaf9917e0303ca36969a22f320d4444;p=vpp.git diff --git a/src/vnet/session/session_api.c b/src/vnet/session/session_api.c index 8c073a08070..60f764af48a 100755 --- a/src/vnet/session/session_api.c +++ b/src/vnet/session/session_api.c @@ -658,11 +658,20 @@ vl_api_connect_sock_t_handler (vl_api_connect_sock_t * mp) app = application_lookup (mp->client_index); if (app) { - clib_memcpy (&a->tep.ip, mp->ip, + unix_shared_memory_queue_t *client_q; + u8 *ip = mp->is_ip4 ? (u8 *) & a->tep.ip.ip4 : (u8 *) & a->tep.ip; + + client_q = vl_api_client_index_to_input_queue (mp->client_index); + mp->client_queue_address = pointer_to_uword (client_q); + a->tep.is_ip4 = mp->is_ip4; + a->tep.port = mp->port; + + clib_memcpy (ip, mp->ip, (mp->is_ip4 ? sizeof (ip4_address_t) : sizeof (ip6_address_t))); a->api_context = mp->context; a->app_index = app->index; + a->proto = mp->proto; a->mp = mp; rv = vnet_connect (a); } @@ -677,7 +686,7 @@ vl_api_connect_sock_t_handler (vl_api_connect_sock_t * mp) /* Got some error, relay it */ done: - REPLY_MACRO (VL_API_CONNECT_URI_REPLY); + REPLY_MACRO (VL_API_CONNECT_SOCK_REPLY); } static clib_error_t *