X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvpp-api%2Fvapi%2Fvapi.c;h=ef31724356d72c709c45d716dc452f076bf0d761;hb=53fffa1;hp=1a0fdbb627a38c102085185a54fd3a218af0df93;hpb=dab732a18c39d13af1770b55d7cef2359ea66412;p=vpp.git diff --git a/src/vpp-api/vapi/vapi.c b/src/vpp-api/vapi/vapi.c index 1a0fdbb627a..ef31724356d 100644 --- a/src/vpp-api/vapi/vapi.c +++ b/src/vpp-api/vapi/vapi.c @@ -40,6 +40,7 @@ vapi_msg_id_t vapi_msg_id_control_ping = 0; vapi_msg_id_t vapi_msg_id_control_ping_reply = 0; DEFINE_VAPI_MSG_IDS_MEMCLNT_API_JSON; +DEFINE_VAPI_MSG_IDS_VPE_API_JSON; struct { @@ -262,8 +263,9 @@ vapi_ctx_alloc (vapi_ctx_t * result) { goto fail; } - memset (ctx->vapi_msg_id_t_to_vl_msg_id, ~0, - __vapi_metadata.count * sizeof (*ctx->vapi_msg_id_t_to_vl_msg_id)); + clib_memset (ctx->vapi_msg_id_t_to_vl_msg_id, ~0, + __vapi_metadata.count * + sizeof (*ctx->vapi_msg_id_t_to_vl_msg_id)); ctx->event_cbs = calloc (__vapi_metadata.count, sizeof (*ctx->event_cbs)); if (!ctx->event_cbs) { @@ -306,6 +308,10 @@ vapi_connect (vapi_ctx_t ctx, const char *name, { return VAPI_EINVAL; } + if (!clib_mem_get_per_cpu_heap () && !clib_mem_init (0, 1024 * 1024 * 32)) + { + return VAPI_ENOMEM; + } ctx->requests_size = max_outstanding_requests; const size_t size = ctx->requests_size * sizeof (*ctx->requests); void *tmp = realloc (ctx->requests, size); @@ -314,7 +320,7 @@ vapi_connect (vapi_ctx_t ctx, const char *name, return VAPI_ENOMEM; } ctx->requests = tmp; - memset (ctx->requests, 0, size); + clib_memset (ctx->requests, 0, size); /* coverity[MISSING_LOCK] - 177211 requests_mutex is not needed here */ ctx->requests_start = ctx->requests_count = 0; if (chroot_prefix) @@ -647,8 +653,8 @@ vapi_dispatch_response (vapi_ctx_t ctx, vapi_msg_id_t id, requests_start].callback_ctx, VAPI_ENORESP, true, NULL); - memset (&ctx->requests[ctx->requests_start], 0, - sizeof (ctx->requests[ctx->requests_start])); + clib_memset (&ctx->requests[ctx->requests_start], 0, + sizeof (ctx->requests[ctx->requests_start])); ++ctx->requests_start; --ctx->requests_count; if (ctx->requests_start == ctx->requests_size) @@ -689,8 +695,8 @@ vapi_dispatch_response (vapi_ctx_t ctx, vapi_msg_id_t id, } if (is_last) { - memset (&ctx->requests[ctx->requests_start], 0, - sizeof (ctx->requests[ctx->requests_start])); + clib_memset (&ctx->requests[ctx->requests_start], 0, + sizeof (ctx->requests[ctx->requests_start])); ++ctx->requests_start; --ctx->requests_count; if (ctx->requests_start == ctx->requests_size)