diff --git a/src/vcl/vcl_cfg.c b/src/vcl/vcl_cfg.c
index 7b0710f..1d8407b 100644
--- a/src/vcl/vcl_cfg.c
+++ b/src/vcl/vcl_cfg.c
@@ -34,18 +34,14 @@
 
   vcl_cfg->heapsize = (256ULL << 20);
   vcl_cfg->max_workers = 16;
-  vcl_cfg->segment_baseva = HIGH_SEGMENT_BASEVA;
   vcl_cfg->segment_size = (256 << 20);
   vcl_cfg->add_segment_size = (128 << 20);
   vcl_cfg->preallocated_fifo_pairs = 8;
   vcl_cfg->rx_fifo_size = (1 << 20);
   vcl_cfg->tx_fifo_size = (1 << 20);
   vcl_cfg->event_queue_size = 2048;
-  vcl_cfg->listen_queue_size = CLIB_CACHE_LINE_BYTES / sizeof (u32);
   vcl_cfg->app_timeout = 10 * 60.0;
   vcl_cfg->session_timeout = 10 * 60.0;
-  vcl_cfg->accept_timeout = 60.0;
-  vcl_cfg->event_ring_size = (128 << 10);
   vcl_cfg->event_log_path = "/dev/shm";
 }
 
@@ -305,12 +301,6 @@
 	      vl_set_memory_gid (gid);
 	      VCFG_DBG (0, "VCL<%d>: configured gid %d", getpid (), gid);
 	    }
-	  else if (unformat (line_input, "segment-baseva 0x%lx",
-			     &vcl_cfg->segment_baseva))
-	    {
-	      VCFG_DBG (0, "VCL<%d>: configured segment_baseva 0x%lx",
-			getpid (), (unsigned long) vcl_cfg->segment_baseva);
-	    }
 	  else if (unformat (line_input, "segment-size 0x%lx",
 			     &vcl_cfg->segment_size))
 	    {
@@ -388,20 +378,6 @@
 			getpid (), vcl_cfg->event_queue_size,
 			vcl_cfg->event_queue_size);
 	    }
-	  else if (unformat (line_input, "listen-queue-size 0x%x",
-			     &vcl_cfg->listen_queue_size))
-	    {
-	      VCFG_DBG (0, "VCL<%d>: configured listen_queue_size 0x%x (%u)",
-			getpid (), vcl_cfg->listen_queue_size,
-			vcl_cfg->listen_queue_size);
-	    }
-	  else if (unformat (line_input, "listen-queue-size %u",
-			     &vcl_cfg->listen_queue_size))
-	    {
-	      VCFG_DBG (0, "VCL<%d>: configured listen_queue_size %u (0x%x)",
-			getpid (), vcl_cfg->listen_queue_size,
-			vcl_cfg->listen_queue_size);
-	    }
 	  else if (unformat (line_input, "app-timeout %f",
 			     &vcl_cfg->app_timeout))
 	    {
@@ -414,12 +390,6 @@
 	      VCFG_DBG (0, "VCL<%d>: configured session_timeout %f",
 			getpid (), vcl_cfg->session_timeout);
 	    }
-	  else if (unformat (line_input, "accept-timeout %f",
-			     &vcl_cfg->accept_timeout))
-	    {
-	      VCFG_DBG (0, "VCL<%d>: configured accept_timeout %f",
-			getpid (), vcl_cfg->accept_timeout);
-	    }
 	  else if (unformat (line_input, "app-proxy-transport-tcp"))
 	    {
 	      vcl_cfg->app_proxy_transport_tcp = 1;
diff --git a/src/vcl/vcl_private.h b/src/vcl/vcl_private.h
index c9db03c..285985e 100644
--- a/src/vcl/vcl_private.h
+++ b/src/vcl/vcl_private.h
@@ -185,7 +185,6 @@
   u32 rx_fifo_size;
   u32 tx_fifo_size;
   u32 event_queue_size;
-  u32 listen_queue_size;
   u8 app_proxy_transport_tcp;
   u8 app_proxy_transport_udp;
   u8 app_scope_local;
@@ -195,8 +194,6 @@
   u8 use_mq_eventfd;
   f64 app_timeout;
   f64 session_timeout;
-  f64 accept_timeout;
-  u32 event_ring_size;
   char *event_log_path;
   u8 *vpp_app_socket_api;	/**< app socket api socket file name */
   u8 *vpp_bapi_socket_name;	/**< bapi socket transport socket name */
diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c
index 987a19c..b91c3a3 100644
--- a/src/vcl/vppcom.c
+++ b/src/vcl/vppcom.c
@@ -1368,8 +1368,8 @@
   vcm->main_cpu = pthread_self ();
   vcm->main_pid = getpid ();
   vcm->app_name = format (0, "%s", app_name);
-  fifo_segment_main_init (&vcm->segment_main, vcl_cfg->segment_baseva,
-			  20 /* timeout in secs */ );
+  fifo_segment_main_init (&vcm->segment_main, (uword) ~0,
+			  20 /* timeout in secs */);
   pool_alloc (vcm->workers, vcl_cfg->max_workers);
   clib_spinlock_init (&vcm->workers_lock);
   clib_rwlock_init (&vcm->segment_table_lock);
@@ -1645,9 +1645,6 @@
   if (!listen_session || (listen_session->flags & VCL_SESSION_F_IS_VEP))
     return VPPCOM_EBADFD;
 
-  if (q_len == 0 || q_len == ~0)
-    q_len = vcm->cfg.listen_queue_size;
-
   listen_vpp_handle = listen_session->vpp_handle;
   if (listen_session->session_state == VCL_STATE_LISTEN)
     {
