vcl: basic support for epoll level-triggered evts
[vpp.git] / src / vcl / vcl_private.c
index 721416b..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);
 }
@@ -315,6 +317,21 @@ 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, u32 len)
+{
+  if (s->ext_config)
+    return -1;
+
+  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;
+}
+
 int
 vcl_segment_attach (u64 segment_handle, char *name, ssvm_segment_type_t type,
                    int fd)