Thanks for the quick reply.
So if I need to take inputs from application and proceed to further
processing, what is the way to do so?
Should I still be using 2 binaries?

Regards,
Akash

On Thu, Jun 10, 2021 at 6:31 PM Dave Barach <v...@barachs.net> wrote:

> Vpp seems to be its dispatch loop, waiting for an input node to inject
> work into the forwarding graph. What you call cust_main() is the moral
> equivalent of a while(1) loop. It won’t return.
>
>
>
> D.
>
>
>
> *From:* Akash S R <akashsr.akas...@gmail.com>
> *Sent:* Thursday, June 10, 2021 7:38 AM
> *To:* Akash S R <akashsr.akas...@gmail.com>
> *Cc:* v...@barachs.net; vpp-dev@lists.fd.io; srilcha...@gmail.com
> *Subject:* Re: [vpp-dev] Quick question on VPP on : How to Embed VPP as
> library
>
>
>
> Hi Dave,
>
>
>
> As per your suggestion, we have compiled a shared library and renamed main
> in vnet/main.c as cust_main ().
>
> Invoking the cust_main() from our application results in a hang. Bt as
> below:
>
>
>
> Thread 1 "vpp_main" received signal SIGINT, Interrupt.
>
> 0x00007ffff519d888 in clib_time_now_internal (c=0x7fffb3115680,
> n=287541441385032)
>
>     at /home/soundarya/june4/vpp/src/vppinfra/time.h:219
>
> 219       if (PREDICT_FALSE
>
> Missing separate debuginfos, use: debuginfo-install
> check-0.9.9-5.el7.x86_64 keyutils-libs-1.5.8-3.el7.x86_64
> libgcc-4.8.5-44.el7.x86_64 libselinux-2.5-15.el7.x86_64
> libstdc++-4.8.5-44.el7.x86_64 libuuid-2.23.2-65.el7_9.1.x86_64
> mbedtls-2.7.17-1.el7.x86_64 numactl-libs-2.0.12-5.el7.x86_64
> pcre-8.32-17.el7.x86_64 pkcs11-helper-1.11-3.el7.x86_64
>
> (gdb) thread apply all bt
>
>
>
> Thread 2 (Thread 0x7fffac0de700 (LWP 10052)):
>
> #0  0x00007ffff6ad0fd3 in epoll_wait () at
> ../sysdeps/unix/syscall-template.S:81
>
> #1  0x00007fffb03dae84 in eal_intr_thread_main () from
> /home/soundarya/june4/vpp/build-root/install-vpp_debug-native/vpp/lib/vpp_plugins/dpdk_plugin.so
>
> #2  0x00007ffff7b53ea5 in start_thread (arg=0x7fffac0de700) at
> pthread_create.c:307
>
> #3  0x00007ffff6ad09fd in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
>
>
> Thread 1 (Thread 0x7ffff3218940 (LWP 10048)):
>
> #0  0x00007ffff51a57f9 in vlib_main_or_worker_loop (vm=0x7fffb3115680,
> is_main=1) at /home/soundarya/june4/vpp/src/vlib/main.c:1764
>
> #1  0x00007ffff51a599e in vlib_main_loop (vm=0x7fffb3115680) at
> /home/soundarya/june4/vpp/src/vlib/main.c:1794
>
> #2  0x00007ffff51a69f6 in vlib_main (vm=0x7fffb3115680,
> input=0x7fffae6c3fb0) at /home/soundarya/june4/vpp/src/vlib/main.c:2083
>
> #3  0x00007ffff52118c1 in thread0 (arg=140736197645952) at
> /home/soundarya/june4/vpp/src/vlib/unix/main.c:671
>
> #4  0x00007ffff7e5d638 in clib_calljmp () at
> /home/5G/vpp/src/vppinfra/longjmp.S:123
>
> #5  0x00007fffffffafa0 in ?? ()
>
> #6  0x00007ffff5212010 in vlib_unix_main (argc=37, argv=0x46a3c0) at
> /home/soundarya/june4/vpp/src/vlib/unix/main.c:751
>
> #7  0x00007ffff7f2774e in cust_main (argc=37, argv=0x46a3c0) at
> /home/soundarya/june4/vpp/src/vpp/vnet/main.c:339
>
> #8  0x000000000041757c in main () at
> /home/soundarya/june4/ViNGC/upf/DataPlane/packetProcessing/vpp/dp/sim/src/altvppsim.c:119
>
> (gdb)
>
>
>
> Any points to resolve it?
>
>
>
> Thanks in Advance!
>
>
>
> Regards,
>
> Akash
>
>
>
> On Wed, May 19, 2021 at 5:48 PM Akash S R via lists.fd.io
> <akashsr.akashsr=gmail....@lists.fd.io> wrote:
>
> Thanks Dave, Will check it out and get back here if any query is to be
> addressed.
>
>
>
> Regards,
>
> Akash
>
>
>
> On Wed, May 19, 2021, 4:51 PM <v...@barachs.net> wrote:
>
> Long ago, we decided to strictly separate the vpp data plane process from
> its control plane process(es); as a matter of fault containment if nothing
> else.
>
>
>
> As a practical matter, if you want to build vpp as a library you could
> change .../src/vpp/vnet/main.c in trivial ways, and adjust
> .../src/vpp/CMakeLists.txt to build a shared library instead of a
> standalone binary.
>
>
>
> Bottom line: I wouldn’t go there myself for any number of reasons, but it
> wouldn’t be difficult.
>
>
>
> HTH... Dave
>
>
>
> *From:* vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> *On Behalf Of *Akash S R
> *Sent:* Wednesday, May 19, 2021 6:31 AM
> *To:* vpp-dev@lists.fd.io
> *Cc:* srilcha...@gmail.com
> *Subject:* [vpp-dev] Quick question on VPP on : How to Embed VPP as
> library
>
>
>
> Hi All,
>
> We are using VPP version 21.06 (Latest)
> We understand that vpp package consists of libraries , plugins,dev and
> debugs utilities and runs as exe .
> But as per our current usage , we have a control plane application layer
> from which we have included VPP packages as libraries from our Makefile .
> We launch VPP as a separate process and we invoke VAPI's using socket.
>
> What is the way to embed VPP directly as a library (Instead of a separate
> process ) and directly invoke VAPI's from control plane applications ?
>
> This is important since we need to know how to deliver VPP as a library to
> our client. Please Reply Back if any Related Solution is known.
>
>
>
> Thanks in Advance!
>
>
>
> Regards,
>
> Akash
>
>
>
> 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#19553): https://lists.fd.io/g/vpp-dev/message/19553
Mute This Topic: https://lists.fd.io/mt/82933046/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to