> But I got some error when using vapi - vapi_connect as " vl_map_shmem:639:
> region init fail “.
Permission error?
Run client as root, or configure VPP to set permissions on API shared memory.
In VPP startup:
api-segment { uid <foo> gid <foo> }
Cheers,
Ole
> And my mem : MemFree: 220036 kB | HugePages_Total:
> 679 | HugePages_Free: 627
> Help please!
>
> My code:
> int main()
> {
> vapi_ctx_t ctx;
> vapi_error_e rv = vapi_ctx_alloc (&ctx);
> vapi_msg_show_version *sv = vapi_alloc_show_version (ctx);
> rv = vapi_connect (ctx, app_name, api_prefix, max_outstanding_requests,
> response_queue_size, VAPI_MODE_BLOCKING);
> rv = vapi_send (ctx, sv);
> vapi_msg_show_version_reply *reply;
> rv = vapi_recv (ctx, (void **) &reply, NULL, 0, 0);
> if(reply != NULL)
> printf("ret[%d] program[%s] version[%s] \n build_date[%s]
> build_directory[%s]\n", reply->payload.retval, reply->payload.program,
> reply->payload.version, reply->payload.build_date,
> reply->payload.build_directory);
> else
> printf("show version return none\n");
> rv = vapi_disconnect (ctx);
> vapi_ctx_free (ctx);
> printf("end\n");
> return 0;
> }
>
> [email protected]
>
> From: Klement Sekera
> Date: 2018-09-13 17:02
> To: Ole Troan; wangchuanguo
> CC: Dave Barach (dbarach); vpp-dev
> Subject: Re: [vpp-dev] VPP's C-type-api example
> You can also check out the test/ext directory for vapi_c_test.c and
> vapi_cpp_test.cpp, which are unittests for these bindings and there is
> also an example of _dump API call.
>
> Regards,
> Klement
>
> Quoting Ole Troan (2018-09-13 09:33:14)
> > Hi again,
> >
> > > I am in the beginning of using-c-api. Should I not follow
> > > (src/vpp-api/client) ?
> > > Can you please show me a fun-name and a example of the higher level C API?
> >
> > That’s right, I wouldn’t recommend using the src/vpp-aoi/client API unless
> > you are building a new language binding.
> >
> > If you need a C interface you should use VAPI.
> >
> > See interface.api.vapi.h (auto-generated) for sw_interface_dump()
> >
> > static inline vapi_error_e vapi_sw_interface_dump(struct vapi_ctx_s *ctx,
> > vapi_msg_sw_interface_dump *msg,
> > vapi_error_e (*callback)(struct vapi_ctx_s *ctx,
> > void *callback_ctx,
> > vapi_error_e rv,
> > bool is_last,
> > vapi_payload_sw_interface_details *reply),
> > void *callback_ctx)
> >
> >
> > src/vpp-api/vapi/vapi_doc.md for documentation.
> >
> > To get a feel of how the API works, at even higher level you can play with
> > the Python language binding.
> >
> > Best regards,
> > Ole
> >
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> >
> > View/Reply Online (#10481): https://lists.fd.io/g/vpp-dev/message/10481
> > Mute This Topic: https://lists.fd.io/mt/25510961/675704
> > Group Owner: [email protected]
> > Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [[email protected]]
> > -=-=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#10485): https://lists.fd.io/g/vpp-dev/message/10485
Mute This Topic: https://lists.fd.io/mt/25510961/21656
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-