diff --git a/src/vnet/session/node.c b/src/vnet/session/node.c
index ce7c386..fffc8eb 100644
--- a/src/vnet/session/node.c
+++ b/src/vnet/session/node.c
@@ -401,6 +401,7 @@
   u32 my_thread_index = vm->thread_index;
   int i, rv;
   f64 now = vlib_time_now (vm);
+  void (*fp) (void *);
 
   SESSION_EVT_DBG (SESSION_EVT_POLL_GAP_TRACK, smm, my_thread_index);
 
@@ -496,6 +497,11 @@
 	  app = application_get (s0->app_index);
 	  app->cb_fns.builtin_server_rx_callback (s0);
 	  break;
+	case FIFO_EVENT_RPC:
+	  fp = e0->rpc_args.fp;
+	  (*fp) (e0->rpc_args.arg);
+	  break;
+
 	default:
 	  clib_warning ("unhandled event type %d", e0->event_type);
 	}
diff --git a/src/vnet/session/session.h b/src/vnet/session/session.h
index 5c281df..efb9e30 100644
--- a/src/vnet/session/session.h
+++ b/src/vnet/session/session.h
@@ -32,7 +32,8 @@
   FIFO_EVENT_APP_TX,
   FIFO_EVENT_TIMEOUT,
   FIFO_EVENT_DISCONNECT,
-  FIFO_EVENT_BUILTIN_RX
+  FIFO_EVENT_BUILTIN_RX,
+  FIFO_EVENT_RPC,
 } fifo_event_type_t;
 
 #define foreach_session_input_error                                    	\
@@ -91,12 +92,19 @@
   SESSION_STATE_N_STATES,
 } stream_session_state_t;
 
+typedef struct
+{
+  void *fp;
+  void *arg;
+} rpc_args_t;
+
 /* *INDENT-OFF* */
 typedef CLIB_PACKED (struct {
   union
     {
       svm_fifo_t * fifo;
       u64 session_handle;
+      rpc_args_t rpc_args;
     };
   u8 event_type;
   u16 event_id;
diff --git a/src/vnet/tcp/builtin_http_server.c b/src/vnet/tcp/builtin_http_server.c
index 4e61fbd..763a46e 100644
--- a/src/vnet/tcp/builtin_http_server.c
+++ b/src/vnet/tcp/builtin_http_server.c
@@ -385,6 +385,13 @@
   return -1;
 }
 
+static void
+alloc_http_process_callback (void *s_arg)
+{
+  stream_session_t *s = (stream_session_t *) s_arg;
+  alloc_http_process (s);
+}
+
 static int
 http_server_rx_callback (stream_session_t * s)
 {
@@ -414,7 +421,19 @@
   /* send the command to a new/recycled vlib process */
   s->opaque[1] = (u64) vec_dup (hsm->rx_buf);
 
-  alloc_http_process (s);
+  /* Send an RPC request via the thread-0 input node */
+  if (vlib_get_thread_index () != 0)
+    {
+      session_fifo_event_t evt;
+      evt.rpc_args.fp = alloc_http_process_callback;
+      evt.rpc_args.arg = s;
+      evt.event_type = FIFO_EVENT_RPC;
+      unix_shared_memory_queue_add
+	(session_manager_get_vpp_event_queue (0 /* main thread */ ),
+	 (u8 *) & evt, 0 /* do wait for mutex */ );
+    }
+  else
+    alloc_http_process (s);
   return 0;
 }
 
