Hi Klement,
I do not understande your mean. VPP cmdline?
I want to make my ext-program who can initialize the running vpp-service not by
vppctl-shell
"systemctl start VPP" without any change for vpp-code and startup.conf.
Can you describe their relationship?
My executable program name is "test", and how can i connect to vpp?
[email protected]
From: Klement Sekera
Date: 2018-09-14 19:55
To: [email protected]; Ole Troan
CC: Dave Barach (dbarach); vpp-dev
Subject: Re: [vpp-dev] VPP's C-type-api example
And what is your vpp cmdline? is vpp running with "my-api-test" api
prefix?
Quoting [email protected] (2018-09-14 07:25:06)
> sorry,
> That my carelessness. Whole cmd as root is : #./test "/my-api"
> "my-api-test"
> And vpp_api_test can connect to vpp.
>
> --------------------------------------------------------------------------
>
> [email protected]
>
>
> From: [1]Ole Troan
> Date: 2018-09-14 00:35
> To: [2]wangchuanguo
> CC: [3]Klement Sekera -X (ksekera - PANTHEON TECHNOLOGIES at Cisco);
> [4]Dave Barach (dbarach); [5]vpp-dev
> Subject: Re: [vpp-dev] VPP's C-type-api example
> > 1、as root, install the rpm(vpp-selinux, vpp-lib, vpp-18.04,
> vpp-plugins), start service vpp and I come into vppctl.
> > 2、I copy test/ext/vapi_c_test.c to main.c(a new file, a new dir).
> > compile using: gcc -std=gnu99 -g -Wall -pthread
> -I/usr/include/ -lvppinfra -lvlibmemoryclient -lsvm -lpthread -lcheck
> -lrt -lm -lvapiclient -lsubunit main.c -o test
> > 3、then, #./test
> > But it shows vl_map_shmem:639: region init fail
>
> That’s an indication that it cannot connect to VPP.
> Can vpp_api_test connect?
>
> Cheers,
> Ole
>
>
> >
> > [email protected]
> >
> > From: Ole Troan
> > Date: 2018-09-13 21:44
> > To: [email protected]
> > CC: Klement Sekera -X (ksekera - PANTHEON TECHNOLOGIES at Cisco); Dave
> Barach (dbarach); vpp-dev
> > Subject: Re: [vpp-dev] VPP's C-type-api example
> > > i am be root
> >
> > Then you must provide more details.
> >
> > Cheers,
> > Ole
> >
> >
> > >
> > > [email protected]
> > >
> > > From: Ole Troan
> > > Date: 2018-09-13 21:26
> > > To: [email protected]
> > > CC: Klement Sekera -X (ksekera - PANTHEON TECHNOLOGIES at Cisco);
> Dave Barach (dbarach); vpp-dev
> > > Subject: Re: [vpp-dev] VPP's C-type-api example
> > > > 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]]
> > > > > -=-=-=-=-=-=-=-=-=-=-=-
>
> References
>
> Visible links
> 1. mailto:[email protected]
> 2. mailto:[email protected]
> 3. mailto:[email protected]
> 4. mailto:[email protected]
> 5. mailto:[email protected]
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#10507): https://lists.fd.io/g/vpp-dev/message/10507
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]]
-=-=-=-=-=-=-=-=-=-=-=-