X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlibmemory%2Fmemory_api.c;h=aa0e25b72e521903ae3dc8d32ed6bd89cc3f6c72;hb=71615399e194847d7833b744caedab9b841733e5;hp=a444ec785a76f8478cb1167fa2d7af7152ddc115;hpb=70f28fc4b83fee72a1e2a17f5f898af83b4fb39c;p=vpp.git diff --git a/src/vlibmemory/memory_api.c b/src/vlibmemory/memory_api.c index a444ec785a7..aa0e25b72e5 100644 --- a/src/vlibmemory/memory_api.c +++ b/src/vlibmemory/memory_api.c @@ -703,6 +703,26 @@ vl_mem_api_handle_msg_main (vlib_main_t * vm, vlib_node_runtime_t * node) am->shmem_hdr->vl_input_queue); } +int +vl_mem_api_handle_rpc (vlib_main_t * vm, vlib_node_runtime_t * node) +{ + api_main_t *am = &api_main; + int i; + uword *rpc_requests, mp; + + clib_spinlock_lock_if_init (&vm->pending_rpc_lock); + rpc_requests = vm->pending_rpc_requests; + + for (i = 0; i < vec_len (rpc_requests); i++) + { + mp = rpc_requests[i]; + vl_msg_api_handler_with_vm_node (am, (void *) mp, vm, node); + } + vec_reset_length (vm->pending_rpc_requests); + clib_spinlock_unlock_if_init (&vm->pending_rpc_lock); + return 0; +} + int vl_mem_api_handle_msg_private (vlib_main_t * vm, vlib_node_runtime_t * node, u32 reg_index)