vcl: fix epoll connected events sid 06/23506/2
authorFlorin Coras <fcoras@cisco.com>
Wed, 6 Nov 2019 23:41:37 +0000 (15:41 -0800)
committerAndrew Yourtchenko <ayourtch@gmail.com>
Thu, 28 Nov 2019 09:39:19 +0000 (09:39 +0000)
Type: fix

Use sid returned by vcl_session_connected_handler instead of trying to
infer it from vpp session handle.

Change-Id: Ic0fbb90ec2bd851b435fc3f2a34265ac9a8ab29f
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit f1653e62fe41e3df429aadaaab22d0cc8aaa227a)

src/vcl/vppcom.c

index 47ea7a4..349e27e 100644 (file)
@@ -2627,9 +2627,8 @@ vcl_epoll_wait_handle_mq_event (vcl_worker_t * wrk, session_event_t * e,
       break;
     case SESSION_CTRL_EVT_CONNECTED:
       connected_msg = (session_connected_msg_t *) e->data;
-      vcl_session_connected_handler (wrk, connected_msg);
+      sid = vcl_session_connected_handler (wrk, connected_msg);
       /* Generate EPOLLOUT because there's no connected event */
-      sid = vcl_session_index_from_vpp_handle (wrk, connected_msg->handle);
       if (!(session = vcl_session_get (wrk, sid)))
        break;
       session_events = session->vep.ev.events;