vcl: basic support for epoll level-triggered evts
[vpp.git] / src / vcl / vcl_private.c
index 464061c..45c208d 100644 (file)
@@ -131,6 +131,8 @@ vcl_worker_cleanup (vcl_worker_t * wrk, u8 notify_vpp)
   hash_free (wrk->session_index_by_vpp_handles);
   vec_free (wrk->mq_events);
   vec_free (wrk->mq_msg_vector);
+  vec_free (wrk->ep_level_evts);
+  vec_free (wrk->ep_level_evts_fl);
   vcl_worker_free (wrk);
   clib_spinlock_unlock (&vcm->workers_lock);
 }
@@ -317,14 +319,14 @@ vcl_session_write_ready (vcl_session_t * s)
 
 int
 vcl_session_alloc_ext_cfg (vcl_session_t *s,
-                          transport_endpt_ext_cfg_type_t type)
+                          transport_endpt_ext_cfg_type_t type, u32 len)
 {
   if (s->ext_config)
     return -1;
 
-  s->ext_config = clib_mem_alloc (sizeof (transport_endpt_ext_cfg_t));
-  clib_memset (s->ext_config, 0, sizeof (*s->ext_config));
-  s->ext_config->len = sizeof (*s->ext_config);
+  s->ext_config = clib_mem_alloc (len);
+  clib_memset (s->ext_config, 0, len);
+  s->ext_config->len = len;
   s->ext_config->type = type;
 
   return 0;