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? wangchuan...@163.com From: Klement Sekera Date: 2018-09-14 19:55 To: wangchuan...@163.com; 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 wangchuan...@163.com (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. > > -------------------------------------------------------------------------- > > wangchuan...@163.com > > > 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 > > > > > > wangchuan...@163.com > > > > From: Ole Troan > > Date: 2018-09-13 21:44 > > To: wangchuan...@163.com > > 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 > > > > > > > > > > wangchuan...@163.com > > > > > > From: Ole Troan > > > Date: 2018-09-13 21:26 > > > To: wangchuan...@163.com > > > 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; > > > > } > > > > > > > > wangchuan...@163.com > > > > > > > > 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: vpp-dev+ow...@lists.fd.io > > > > > Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub > [ksek...@cisco.com] > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > References > > Visible links > 1. mailto:otr...@employees.org > 2. mailto:wangchuan...@163.com > 3. mailto:ksek...@cisco.com > 4. mailto:dbar...@cisco.com > 5. mailto:vpp-dev@lists.fd.io
-=-=-=-=-=-=-=-=-=-=-=- 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: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-