[vpp-dev] vpp supported features link.

2017-01-22 Thread Sharath
Hello,

Is there an updated link where I can find all VPP supported features. This
below link seems to be dated.
https://wiki.fd.io/view/VPP/Features

Thanks
Sharath
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] arp processing by RP.

2017-03-24 Thread Sharath
In my usecase I an have RP & I am treating VPP as an LC. Ideally I want my
RP to resolve the arp & plumb the arp entry into VPP. From the look of it,
this below command could be used for this. The recent vpp build does not
have this command. How to get this working without this command, or is
there an alternative?

tap inject arp,icmp4 from TenGigabitEthernet4/0/0 as tap0

Thanks

Sharath
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] latest stable vpp version.

2017-04-07 Thread Sharath
Hello,

How do I know which is the latest VPP stable label and its related
documents?

Thanks
Sharath
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] api to get swIdx.

2017-04-12 Thread Sharath
HI,

is there an api to find the swIdx of an interface given its name.

Thanks
Sharath
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] IS THERE ANY SETUP FOR BUILDING AND TESTING ALL THE FD.IO MODULES TOGETHER

2017-10-25 Thread Sharath Kumar
Hello all,

I am a newbie to fd.io.

I have started with setting up dev environment by following this link
https://wiki.fd.io/view/VPP/Setting_Up_Your_Dev_Environment .

This setup is building only VPP libs. (so I was considering it as a VPP
setup and not a FD.IO setup)

IS THERE ANY SETUP FOR BUILDING AND TESTING ALL THE FD.IO MODULES TOGETHER
??

I have searched for FD.IO setup but I could find only the individual module
setups.
can anyone please help me ?

With Thanks & Regards,
Sharath.
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] multi-threaded application, "epoll_wait" and "epoll_ctl" have "received signal SIGABRT, Aborted".

2019-03-28 Thread sharath kumar
Hello all,

I am a newbie to VPP.

I am trying to run VPP with a multi-threaded application.
"recv" works fine from non-main threads,
whereas "epoll_wait" and "epoll_ctl" have "received signal SIGABRT,
Aborted".

Is this a known issue?
Or am I doing something wrong?

Attaching  backtrace for  "epoll_wait" and "epoll_ctl"

Thread 9 "dmm_vcl_epoll" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffd67fe700 (LWP 56234)]
0x77349428 in __GI_raise (sig=sig@entry=6) at
../sysdeps/unix/sysv/linux/raise.c:54
54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x77349428 in __GI_raise (sig=sig@entry=6) at
../sysdeps/unix/sysv/linux/raise.c:54
#1  0x7734b02a in __GI_abort () at abort.c:89
#2  0x7496d873 in os_panic () at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vppinfra/unix-misc.c:176
#3  0x748ce42c in debugger () at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vppinfra/error.c:84
#4  0x748ce864 in _clib_error (how_to_die=2, function_name=0x0,
line_number=0, fmt=0x7ffff4bfe0e0 "%s:%d (%s) assertion `%s' fails")
at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vppinfra/error.c:143
#5  0x74bcca7d in vcl_worker_get (wrk_index=4294967295) at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/vcl_private.h:540
#6  0x74bccabe in vcl_worker_get_current () at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/vcl_private.h:554
#7  0x74bd7c49 in vppcom_session_attr (session_handle=4278190080,
op=6, buffer=0x0, buflen=0x0) at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/vppcom.c:2606
#8  0x74bfc7fd in vls_attr (vlsh=0, op=6, buffer=0x0, buflen=0x0)
at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/vcl_locked.c:569
#9  0x74e21736 in ldp_epoll_pwait (epfd=32, events=0x7fffd67fad20,
maxevents=1024, timeout=100, sigmask=0x0) at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/ldp.c:2203
#10 0x74e21948 in epoll_wait (epfd=32, events=0x7fffd67fad20,
maxevents=1024, timeout=100) at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/ldp.c:2257
#11 0x74e13041 in dmm_vcl_epoll_thread (arg=0x0) at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/dmm_vcl_adpt.c:75
#12 0x778ed6ba in start_thread (arg=0x7fffd67fe700) at
pthread_create.c:333
#13 0x7741b41d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109




Thread 11 "vs_epoll" received signal SIGABRT, Aborted.
0x77349428 in __GI_raise (sig=sig@entry=6) at
../sysdeps/unix/sysv/linux/raise.c:54
54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x77349428 in __GI_raise (sig=sig@entry=6) at
../sysdeps/unix/sysv/linux/raise.c:54
#1  0x7ffff734b02a in __GI_abort () at abort.c:89
#2  0x7496d873 in os_panic () at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vppinfra/unix-misc.c:176
#3  0x748ce42c in debugger () at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vppinfra/error.c:84
#4  0x748ce864 in _clib_error (how_to_die=2, function_name=0x0,
line_number=0, fmt=0x74bfe1a0 "%s:%d (%s) assertion `%s' fails")
at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vppinfra/error.c:143
#5  0x74bcca7d in vcl_worker_get (wrk_index=4294967295) at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/vcl_private.h:540
#6  0x74bccabe in vcl_worker_get_current () at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/vcl_private.h:554
#7  0x74bd597a in vppcom_epoll_ctl (vep_handle=4278190080, op=1,
session_handle=4278190082, event=0x7fffd4dfb3b0)
at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/vppcom.c:2152
#8  0x74bfd061 in vls_epoll_ctl (ep_vlsh=0, op=1, vlsh=2,
event=0x7fffd4dfb3b0) at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/vcl_locked.c:787
#9  0x74e213b6 in epoll_ctl (epfd=32, op=1, fd=34,
event=0x7fffd4dfb3b0) at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/ldp.c:2118
#10 0x74e12f88 in vpphs_ep_ctl_ops (epFD=-1, proFD=34, ctl_ops=0,
events=0x7fffd5190078, pdata=0x7fffd53f01d0)
at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/dmm_vcl_adpt.c:48
#11 0x00007ffff7b4d502 in nsep_epctl_triggle (epi=0x7fffd5190018,
info=0x7fffd53f01d0, triggle_ops=0) at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/src/nSocket/nstack/event/epoll/nstack_eventpoll.c:134
#12 0x77b4de31 in nsep_insert_node (ep=0x7fffd50bffa8,
event=0x7fffd4dfb5a0, fdInfo=0x7fffd53f01d0)
at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/src/nSocket/nstack/event/epoll/nstack_eventpoll.c:250
#13 0x77

Re: [vpp-dev] multi-threaded application, "epoll_wait" and "epoll_ctl" have "received signal SIGABRT, Aborted".

2019-03-29 Thread sharath kumar
No, it doesn't work.

Attaching the applications being used.

"Select" also has similar kind of issue when called from non-main thread

Thread 9 "nstack_select" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd77fe700 (LWP 63170)]
0x74e1d032 in ldp_select_init_maps (original=0x7fffbc0008c0,
resultb=0x7fffe002e514, libcb=0x7fffe002e544, vclb=0x7fffe002e52c, nfds=34,
minbits=64, n_bytes=5, si_bits=0x7fffd77fdc20,
libc_bits=0x7fffd77fdc28) at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/ldp.c:601
601   clib_bitmap_validate (*vclb, minbits);
(gdb) bt
#0  0x74e1d032 in ldp_select_init_maps (original=0x7fffbc0008c0,
resultb=0x7fffe002e514, libcb=0x7fffe002e544, vclb=0x7fffe002e52c, nfds=34,
minbits=64, n_bytes=5, si_bits=0x7fffd77fdc20,
libc_bits=0x7fffd77fdc28) at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/ldp.c:601
#1  0x74e1db47 in ldp_pselect (nfds=34, readfds=0x7fffbc0008c0,
writefds=0x7fffbc000cd0, exceptfds=0x7fffbc0010e0, timeout=0x7fffd77fdcb0,
sigmask=0x0)
    at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/ldp.c:723
#2  0x74e1e5d5 in select (nfds=34, readfds=0x7fffbc0008c0,
writefds=0x7fffbc000cd0, exceptfds=0x7fffbc0010e0, timeout=0x7fffd77fdd20)
    at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/ldp.c:857
#3  0x77b4c42a in nstack_select_thread (arg=0x0) at
/home/root1/sharath/2019/vpp_ver/19.04/dmm/src/nSocket/nstack/event/select/nstack_select.c:651
#4  0x778ed6ba in start_thread (arg=0x7fffd77fe700) at
pthread_create.c:333
#5  0x7741b41d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109


Before https://gerrit.fd.io/r/#/c/18597/ I have tried to fix the issue.

The below changes fixed epoll_wait and epoll_ctl issues for me.[doesn't
include the changes of https://gerrit.fd.io/r/#/c/18597/]

diff --git a/src/vcl/vcl_locked.c b/src/vcl/vcl_locked.c
index fb19b5d..e6c891b 100644
--- a/src/vcl/vcl_locked.c
+++ b/src/vcl/vcl_locked.c
@@ -564,7 +564,10 @@ vls_attr (vls_handle_t vlsh, uint32_t op, void
*buffer, uint32_t * buflen)

   if (!(vls = vls_get_w_dlock (vlsh)))
 return VPPCOM_EBADFD;
+
+  vls_mt_guard (0, VLS_MT_OP_XPOLL);
   rv = vppcom_session_attr (vls_to_sh_tu (vls), op, buffer, buflen);
+  vls_mt_unguard ();
   vls_get_and_unlock (vlsh);
   return rv;
 }
@@ -773,8 +776,10 @@ vls_epoll_ctl (vls_handle_t ep_vlsh, int op,
vls_handle_t vlsh,
   vls_table_rlock ();
   ep_vls = vls_get_and_lock (ep_vlsh);
   vls = vls_get_and_lock (vlsh);
+  vls_mt_guard (0, VLS_MT_OP_XPOLL);
   ep_sh = vls_to_sh (ep_vls);
   sh = vls_to_sh (vls);
+  vls_mt_unguard ();

   if (PREDICT_FALSE (!vlsl->epoll_mp_check))
 vls_epoll_ctl_mp_checks (vls, op);

Thanks,
Sharath.

On Fri, Mar 29, 2019 at 9:15 PM Florin Coras  wrote:

> Interesting. What application are you running and does this [1] fix the
> issue for you?
>
> In short, many of vls’ apis check if the call is coming in on a new
> pthread and program vcl accordingly if yes. The patch makes sure vls_attr
> does that as well.
>
> Thanks,
> Florin
>
> [1] https://gerrit.fd.io/r/#/c/18597/
>
> On Mar 29, 2019, at 4:29 AM, Dave Barach via Lists.Fd.Io <
> dbarach=cisco@lists.fd.io> wrote:
>
> For whatever reason, the vls layer received an event notification which
> didn’t end well. vcl_worker_get (wrk_index=4294967295) [aka 0x]
> will never work.
>
> I’ll let Florin comment further. He’s in the PDT time zone, so don’t
> expect to hear from him for a few hours.
>
> D.
>
> *From:* vpp-dev@lists.fd.io  *On Behalf Of *sharath
> kumar
> *Sent:* Friday, March 29, 2019 12:18 AM
> *To:* vpp-dev@lists.fd.io; csit-...@lists.fd.io
> *Subject:* [vpp-dev] multi-threaded application, "epoll_wait" and
> "epoll_ctl" have "received signal SIGABRT, Aborted".
>
> Hello all,
>
> I am a newbie to VPP.
>
> I am trying to run VPP with a multi-threaded application.
> "recv" works fine from non-main threads,
> whereas "epoll_wait" and "epoll_ctl" have "received signal SIGABRT,
> Aborted".
>
> Is this a known issue?
> Or am I doing something wrong?
>
> Attaching  backtrace for  "epoll_wait" and "epoll_ctl"
>
> Thread 9 "dmm_vcl_epoll" received signal SIGABRT, Aborted.
> [Switching to Thread 0x7fffd67fe700 (LWP 56234)]
> 0x77349428 in __GI_raise (sig=sig@entry=6) at
> ../sysdeps/unix/sysv/linux/raise.c:54
> 54  ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
> (gdb) bt
> #0  0x77349428 in __GI_raise (sig=sig@entry=6) at
> ../sysdeps/unix/sysv/linux/raise.c:54
> #1  0x7734b02a in __GI_abort () at abort.c:89
> #2  0x7496d873 in os_panic () at

Re: [vpp-dev] multi-threaded application, "epoll_wait" and "epoll_ctl" have "received signal SIGABRT, Aborted".

2019-03-29 Thread sharath kumar
Hi Florin,

The patch doesn't fix any of the issues with epoll/select.

The usecase is like below
1.Main thread calls epoll_create.
2.One of the non-main threads calls epoll_ctl.
3.And another non-main thread calls epoll_wait.

All the 3 threads above operate on a single epoll fd.

Is this usecase supported?

How to register these non-main threads [2 and 3] as workers with vcl?
I am a newbie to VPP, I have no idea about this. Can you give me some input
on this?

Would registering these non-main threads [2,3] as workers with vcl resolve
my problem?
Did you mean LDP doesn't support this kind of registration?

Thanks,
Sharath.


On Sat 30 Mar, 2019, 1:27 AM Florin Coras,  wrote:

> Just so I understand, does the patch not fix the epoll issues or does it
> fix the issues but it doesn’t fix select, which apparently crashes in a
> different way.
>
> Second, what is your usecase/app? Are you actually trying to share
> epoll/select between multiple threads? That is, multiple threads might want
> to call epoll_wait/select at the same time? That is not supported. The
> implicit assumption is that only the dispatcher thread is to call the two
> functions the rest of the threads do only io work.
>
> If all the threads must handle async communication via epoll/select, then
> they should register themselves as workers with vcl and get their own epoll
> fd. LDP does not support that.
>
> Florin
>
> On Mar 29, 2019, at 12:13 PM, Sharath Kumar <
> sharathkumarboyanapa...@gmail.com> wrote:
>
> No, it doesn't work.
>
> Attaching the applications being used.
>
> "Select" also has similar kind of issue when called from non-main thread
>
> Thread 9 "nstack_select" received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7fffd77fe700 (LWP 63170)]
> 0x74e1d032 in ldp_select_init_maps (original=0x7fffbc0008c0,
> resultb=0x7fffe002e514, libcb=0x7fffe002e544, vclb=0x7fffe002e52c, nfds=34,
> minbits=64, n_bytes=5, si_bits=0x7fffd77fdc20,
> libc_bits=0x7fffd77fdc28) at
> /home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/ldp.c:601
> 601   clib_bitmap_validate (*vclb, minbits);
> (gdb) bt
> #0  0x74e1d032 in ldp_select_init_maps (original=0x7fffbc0008c0,
> resultb=0x7fffe002e514, libcb=0x7fffe002e544, vclb=0x7fffe002e52c, nfds=34,
> minbits=64, n_bytes=5, si_bits=0x7fffd77fdc20,
> libc_bits=0x7fffd77fdc28) at
> /home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/ldp.c:601
> #1  0x74e1db47 in ldp_pselect (nfds=34, readfds=0x7fffbc0008c0,
> writefds=0x7fffbc000cd0, exceptfds=0x7fffbc0010e0, timeout=0x7fffd77fdcb0,
> sigmask=0x0)
> at
> /home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/ldp.c:723
> #2  0x74e1e5d5 in select (nfds=34, readfds=0x7fffbc0008c0,
> writefds=0x7fffbc000cd0, exceptfds=0x7fffbc0010e0, timeout=0x7fffd77fdd20)
> at
> /home/root1/sharath/2019/vpp_ver/19.04/dmm/stacks/vpp/vpp/src/vcl/ldp.c:857
> #3  0x77b4c42a in nstack_select_thread (arg=0x0) at
> /home/root1/sharath/2019/vpp_ver/19.04/dmm/src/nSocket/nstack/event/select/nstack_select.c:651
> #4  0x778ed6ba in start_thread (arg=0x7fffd77fe700) at
> pthread_create.c:333
> #5  0x7741b41d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
>
>
> Before https://gerrit.fd.io/r/#/c/18597/ I have tried to fix the issue.
>
> The below changes fixed epoll_wait and epoll_ctl issues for me.[doesn't
> include the changes of https://gerrit.fd.io/r/#/c/18597/]
>
> diff --git a/src/vcl/vcl_locked.c b/src/vcl/vcl_locked.c
> index fb19b5d..e6c891b 100644
> --- a/src/vcl/vcl_locked.c
> +++ b/src/vcl/vcl_locked.c
> @@ -564,7 +564,10 @@ vls_attr (vls_handle_t vlsh, uint32_t op, void
> *buffer, uint32_t * buflen)
>
>if (!(vls = vls_get_w_dlock (vlsh)))
>  return VPPCOM_EBADFD;
> +
> +  vls_mt_guard (0, VLS_MT_OP_XPOLL);
>rv = vppcom_session_attr (vls_to_sh_tu (vls), op, buffer, buflen);
> +  vls_mt_unguard ();
>vls_get_and_unlock (vlsh);
>return rv;
>  }
> @@ -773,8 +776,10 @@ vls_epoll_ctl (vls_handle_t ep_vlsh, int op,
> vls_handle_t vlsh,
>vls_table_rlock ();
>ep_vls = vls_get_and_lock (ep_vlsh);
>vls = vls_get_and_lock (vlsh);
> +  vls_mt_guard (0, VLS_MT_OP_XPOLL);
>ep_sh = vls_to_sh (ep_vls);
>sh = vls_to_sh (vls);
> +  vls_mt_unguard ();
>
>if (PREDICT_FALSE (!vlsl->epoll_mp_check))
>  vls_epoll_ctl_mp_checks (vls, op);
>
> Thanks,
> Sharath.
>
> On Fri, Mar 29, 2019 at 9:15 PM Florin Coras 
> wrote:
>
>> Interesting. What application are you running and does this [1] fix the
>> issue for you?
>>
>> In short, many of vls’ apis check if the