Hi Klement,
I'm sorry to trouble you again.
First,Have The classify_add_del_session vapi not exist yet @18.04?
Second,How can I get the vapi_classify_add_del_table 's obscure-mask from
clear-param ”l2|l3|l4 + ip4|ip6 + protocol + dst|src + tcp|udp + ... ” ?
(Like CLI_COMMAND-clear-param to mask-value)
What api can do this?
[email protected]
From: Klement Sekera
Date: 2018-09-17 20:23
To: [email protected]; Ole Troan
CC: Dave Barach (dbarach); vpp-dev
Subject: Re: [vpp-dev] VPP's C-type-api example
If you do not consume a message (in this case most probably the reply to
vapi_tap_deelte), then on disconnect, the client library does that internally
and prints a warning about it...
Quoting [email protected] (2018-09-17 12:00:27)
> Hi Klement,
> Please accept my heartfelt thanks.
> Everything is fine, but one: Calling 'vapi_tap_delete' without any other
> calling would cause some warining or error printed at my terminal:
> my vpp is 18.04 stable.
> "tapDelete begin
> tapDelete end
> vl_client_disconnect:313: queue drain: 79
> msg_handler_internal:432: no handler for msg id 79
> The end"
> Thanks again!
>
> --------------------------------------------------------------------------
>
> [email protected]
>
>
> From: [1]Klement Sekera
> Date: 2018-09-17 15:53
> To: [2][email protected]; [3]Ole Troan
> CC: [4]Dave Barach (dbarach); [5]vpp-dev
> Subject: Re: [vpp-dev] VPP's C-type-api example
> There is no such parameter called `chroot_prefix`. I will assume you are
> asking about `api_prefix`.
>
> Running VPP creates shared memory segments under /dev/shm. By default
> (no prefix provided), these files are called global_vm and vpe-api.
> Multiple VPP instances' names would collide and to be able to run more
> than one VPP, you need to supply unique prefix to 2nd, 3rd,
> etc. VPP instance. This turns shared memory file names for those
> instances to <prefix>-global_vm and <prefix>-vpe-api.
>
> When API bindings are connecting to VPP, they are using these files
> under /dev/shm. Thus, to connect, the same prefix needs to be
> supplied to VPP and client.
>
> It's called api-segment in the startup config.
>
>
> https://wiki.fd.io/view/VPP/Command-line_Arguments#.22api-segment.22_parameters
>
> Quoting [email protected] (2018-09-15 11:46:54)
> > Hi Klement,
> > I change the vapi_c_test.c and let the 3rd param[chroot_prefix
> ==
> > NULL] of 'vapi_connect', and all pass!
> > I have not quite understand this parameter "chroot_prefix"
> by reading the
> > code.
> > Explain briefly ,please?
> > Thanks a lot!
> >
> >
>
> --------------------------------------------------------------------------
> >
> > [email protected]
> >
> >
> > From: [1][email protected]
> > Date: 2018-09-15 09:23
> > To: [2]Klement Sekera -X (ksekera - PANTHEON TECHNOLOGIES at
> Cisco);
> > [3]Ole Troan
> > CC: [4]Dave Barach (dbarach); [5]vpp-dev
> > Subject: Re: Re: [vpp-dev] VPP's C-type-api example
> > 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: [6]Klement Sekera
> > Date: 2018-09-14 19:55
> > To: [7][email protected]; [8]Ole Troan
> > CC: [9]Dave Barach (dbarach); [10]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]
> >
> > References
> >
> > Visible links
> > 1. mailto:[email protected]
> > 2. mailto:[email protected]
> > 3. mailto:[email protected]
> > 4. mailto:[email protected]
> > 5. mailto:[email protected]
> > 6. mailto:[email protected]
> > 7. mailto:[email protected]
> > 8. mailto:[email protected]
> > 9. mailto:[email protected]
> > 10. mailto:[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 (#10538): https://lists.fd.io/g/vpp-dev/message/10538
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]]
-=-=-=-=-=-=-=-=-=-=-=-