api: fix sock reg passing on read event

Type: fix

Change-Id: I383242e04a114b69fe247d912842be3560e96c10
Signed-off-by: Florin Coras <fcoras@cisco.com>
This commit is contained in:
Florin Coras
2019-12-06 17:05:08 -08:00
committed by Dave Barach
parent 4505f0154e
commit 5224b5cbd5
3 changed files with 24 additions and 26 deletions

View File

@ -385,10 +385,16 @@ vl_api_clnt_process (vlib_main_t * vm, vlib_node_runtime_t * node,
case SOCKET_READ_EVENT:
for (i = 0; i < vec_len (event_data); i++)
{
vl_api_registration_t *regp;
a = pool_elt_at_index (socket_main.process_args, event_data[i]);
vl_socket_process_api_msg (a->clib_file, a->regp,
(i8 *) a->data);
a = pool_elt_at_index (socket_main.process_args, event_data[i]);
regp = vl_socket_get_registration (a->reg_index);
if (regp)
{
vl_socket_process_api_msg (regp, (i8 *) a->data);
a = pool_elt_at_index (socket_main.process_args,
event_data[i]);
}
vec_free (a->data);
pool_put (socket_main.process_args, a);
}