Re: [vpp-dev] Q: how best to avoid locking for cleanup.

2020-02-28 Thread Honnappa Nagarahalli
> Subject: Re: [vpp-dev] Q: how best to avoid locking for cleanup. > > On 2/28/20, Honnappa Nagarahalli wrote: > > >> On the other hand, if you do modify shared data structures in the > >> datapath, you are on your own - you need to take care of the data > >> consistency. > >> Again, the way w

Re: [vpp-dev] Q: how best to avoid locking for cleanup.

2020-02-28 Thread Dave Barach via Lists.Fd.Io
On the data plane side, please use vm->main_loop_count. Mark the variable volatile in src/vlib/main.h. Atomically update data structures, include a memory barrier. Foreach_thread: snapshoot vm->main_loop_count. Delay until all vm->main_loop_count values have changed. Clean up old data structur

Re: [vpp-dev] Q: how best to avoid locking for cleanup.

2020-02-28 Thread Govindarajan Mohandoss
Hi Chris, I do wonder how many other cases of "state associated with in-flight packets" there might be, and if more sophisticated general solution might be useful. > RCU mechanism is the general solution to avoid Reader locks in data > plane. With this scheme, there is no lo

Re: [vpp-dev] conditional compile based on API version?

2020-02-28 Thread Ole Troan
OK, updated patch. Please review: https://gerrit.fd.io/r/c/vpp/+/25540 Best regards, Ole > On 28 Feb 2020, at 17:49, Ole Troan wrote: > > Christian, > > OK, can update to > #define IPSEC_API_SEMVER 3002001 /* MMMmmmppp */ > > Just to be clear, > you don't use this on the VPP side, but on the

Re: [vpp-dev] VPP with FRR Bring-up - not able to enable tap-inject

2020-02-28 Thread Dave Barach via Lists.Fd.Io
“show plugin” will tell you which plugins are loaded. Note that the .so files must be located in the same directory with all of the other plugins. Find “dpdk_plugin.so”, etc. D. From: vpp-dev@lists.fd.io On Behalf Of Majumdar, Kausik Sent: Friday, February 28, 2020 3:53 PM To: Balaji Venkatram

Re: [vpp-dev] VPP with FRR Bring-up - not able to enable tap-inject

2020-02-28 Thread Majumdar, Kausik
Hi folks, I have made some code changes in VPPSB (the code changes are attached here), with these changes I have re-compiled. I was able to successfully compiled vpp with the netlink and router plugins. I have verified the router plugin contains the correct symbols to enable tap-inject interfa

Re: [vpp-dev] conditional compile based on API version?

2020-02-28 Thread Christian Hopps
> On Feb 28, 2020, at 2:40 PM, Christian Hopps wrote: > > > >> On Feb 28, 2020, at 11:49 AM, Ole Troan wrote: >> >> Christian, >> >> OK, can update to >> #define IPSEC_API_SEMVER 3002001 /* MMMmmmppp */ >> >> Just to be clear, >> you don't use this on the VPP side, but on the client side

Re: [vpp-dev] conditional compile based on API version?

2020-02-28 Thread Christian Hopps
> On Feb 28, 2020, at 11:49 AM, Ole Troan wrote: > > Christian, > > OK, can update to > #define IPSEC_API_SEMVER 3002001 /* MMMmmmppp */ > > Just to be clear, > you don't use this on the VPP side, but on the client side right? Correct, it's for things like supporting VPP as an option in othe

Re: [vpp-dev] TLS configuration & throughput

2020-02-28 Thread dchons via Lists.Fd.Io
Hi Florin, Thanks for the info. I pulled the latest and retried, things seem a bit better now from a stability perspective. The performance issue looks like a CPU limitation on the client side (10K loops/s) based on the results. I have these: *Client* : Intel Xeon CPU E5-2650 v2 @ 2.60GHz - 1021

Re: [vpp-dev] VPP configuration getting erased on VPP restart

2020-02-28 Thread Chinmaya Aggarwal
Yes now its working. Thanks. -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#15623): https://lists.fd.io/g/vpp-dev/message/15623 Mute This Topic: https://lists.fd.io/mt/71609857/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.

Re: [vpp-dev] TLS configuration & throughput

2020-02-28 Thread Florin Coras
Hi Dom, I guess you’re not using vpp master. Loops/s should appear in the line you highlighted Regards, Florin > On Feb 28, 2020, at 8:54 AM, dchons via Lists.Fd.Io > wrote: > > Hi Florin, > > I got another test run and was able to do the clear run; show run as you > suggested about 10 s

Re: [vpp-dev] VPP configuration getting erased on VPP restart

2020-02-28 Thread Paul Vinciguerra
Hi Chinmaya. Follow Dave's input. I'm obsessive over typo's/transcription errors, so I've done it like this in the past: Edit your startup.conf to include: unix { nodaemon *log /etc/vpp/startup-conf* full-coredump cli-listen /run/vpp/cli.sock gid vpp } start vpp and configure your sys

Re: [vpp-dev] TLS configuration & throughput

2020-02-28 Thread dchons via Lists.Fd.Io
Hi Florin, I got another test run and was able to do the clear run; show run as you suggested about 10 seconds into the test run just before it ended. I'm not sure where to see the loops/s stat, so I've pasted the output from both client and server below if you would not mind pointing out what

Re: [vpp-dev] conditional compile based on API version?

2020-02-28 Thread Ole Troan
Christian, OK, can update to #define IPSEC_API_SEMVER 3002001 /* MMMmmmppp */ Just to be clear, you don't use this on the VPP side, but on the client side right? So if VAPI client wrapper provided this define, that would be fine too? Cheers, Ole > On 28 Feb 2020, at 16:56, Christian Hopps wrot

Re: [vpp-dev] VPP configuration getting erased on VPP restart

2020-02-28 Thread Dave Barach via Lists.Fd.Io
Please do exactly what I suggested. Here’s why: restarting vpp via “vppctl restart” re-executes vpp with precisely the same command line arguments passed to it e.g. via systemctl. Until you start vpp with the command line argument change I told you about, there’s no chance you’ll get the effect

Re: [vpp-dev] VPP configuration getting erased on VPP restart

2020-02-28 Thread Chinmaya Aggarwal
I did restart vpp using "vppctl restart" but I couldn't find the configuration. When i reboot the machine then only i could see my configuration. I am running VPP version 19.08. What could be the reason for this? -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Re

Re: [vpp-dev] VPP configuration getting erased on VPP restart

2020-02-28 Thread Dave Barach via Lists.Fd.Io
Simply restart the vpp service: “service vpp restart” on Ubuntu, etc. From: vpp-dev@lists.fd.io On Behalf Of Chinmaya Aggarwal Sent: Friday, February 28, 2020 11:00 AM To: vpp-dev@lists.fd.io Subject: Re: [vpp-dev] VPP configuration getting erased on VPP restart I found this solution but it work

Re: [vpp-dev] VPP configuration getting erased on VPP restart

2020-02-28 Thread Chinmaya Aggarwal
I found this solution but it works only if I do this change and reboot the machine. Is there any way by which i don't need to reboot the machine and the configuration get persist right after modifying startup.conf? -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/

Re: [vpp-dev] conditional compile based on API version?

2020-02-28 Thread Christian Hopps
This would be great, but how about these defines get generated (e.g., for ipsec.api with version "3.2.1") #define IPSEC_API_SEMVER_MAJOR 3 #define IPSEC_API_SEMVER_MINOR 2 #define IPSEC_API_SEMVER_FIX 1 #define IPSEC_API_SEMVER 3002001 /* MMMmmmppp */ The last define is all that's really neede

Re: [vpp-dev] VPP configuration getting erased on VPP restart

2020-02-28 Thread Dave Barach via Lists.Fd.Io
By itself vpp is a pure data plane which does not store persistent configuration. However, if you place your startup configuration in “/wherever/my_startup_config” and edit /etc/vpp/startup.conf as shown, you’ll get the effect that you want. unix { nodaemon log /var/log/vpp/vpp.log full-

[vpp-dev] VPP configuration getting erased on VPP restart

2020-02-28 Thread Chinmaya Aggarwal
Hi, I ran a few commands on VPP. But, when i restarted the vpp, I can't see the configuration anymore. Can you please suggest how can I persist my entered configuration on vpp restart? -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#15612): https:/

Re: [vpp-dev] Can I submit some API changes for 19.08, et al. release branches?

2020-02-28 Thread Neale Ranns via Lists.Fd.Io
Hi Chris, There are two overlapping sets of paths associated with each prefix in the FIB; the desired set as programmed by the control plane and the set that can be used (based on path availability, based on e.g. link or BFD state). I assume you fetch the former by parsing through the path-lis

Re: [vpp-dev] Can I submit some API changes for 19.08, et al. release branches?

2020-02-28 Thread Neale Ranns via Lists.Fd.Io
Hi Chris, > > In my opinion it would be contrary to the design philosophy. > > My reasoning is this. VPP is a forwarder, it's place in the network stack is the SW ASIC equivalent. Ok. That's interesting. In the end this is about building things right? Sure. My

[vpp-dev] Coverity run FAILED as of 2020-02-28 14:00:24 UTC

2020-02-28 Thread Noreply Jenkins
Coverity run failed today. Current number of outstanding issues are 6 Newly detected: 0 Eliminated: 0 More details can be found at https://scan.coverity.com/projects/fd-io-vpp/view_defects -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#15609): ht

Re: [vpp-dev] conditional compile based on API version?

2020-02-28 Thread Ole Troan
Christian, Check if you are happy with: https://gerrit.fd.io/r/c/vpp/+/25540 vppapigen: generate define for module_semver Cheers, Ole > On 28 Feb 2020, at 09:09, Christian Hopps wrote: > > How does one conditionally compile code based on the API version? I was > looking for a compile time c

Re: [vpp-dev] conditional compile based on API version?

2020-02-28 Thread Ole Troan
Christian, > How does one conditionally compile code based on the API version? I was > looking for a compile time conditional I could then use #if's with, but I > can't seem to find one. A release version #define would work too, although > not be as nice as the per file semver one. > > I did f

Re: [vpp-dev] Q: how best to avoid locking for cleanup.

2020-02-28 Thread Andrew Yourtchenko
On 2/28/20, Honnappa Nagarahalli wrote: >> On the other hand, if you do modify shared data structures in the >> datapath, >> you are on your own - you need to take care of the data consistency. >> Again, the way we usually deal with that is to do a "rpc" to the main >> thread - >> then the main t

Re: [vpp-dev] Can I submit some API changes for 19.08, et al. release branches?

2020-02-28 Thread Christian Hopps
> On Feb 28, 2020, at 5:06 AM, Neale Ranns (nranns) wrote: > > > Hi Chris, > > In my opinion it would be contrary to the design philosophy. > > My reasoning is this. VPP is a forwarder, it's place in the network stack is > the SW ASIC equivalent. Ok. That's interesting. In the end this is

Re: [vpp-dev] conditional compile based on API version?

2020-02-28 Thread Andrew Yourtchenko
Hi Chris, yeah it is a bit of a tricky thing to do with the CPP. But doable, here is one option: #include "custom-codegen.h" /* https://gist.github.com/ayourtch/b56bf28a05db07878e4951c6c2539754 */ #define IPSEC_3_0 #define EA(a, b) this is empty action for codegen for a and b (when the API is th

Re: [vpp-dev] Can I submit some API changes for 19.08, et al. release branches?

2020-02-28 Thread Neale Ranns via Lists.Fd.Io
Hi Chris, In my opinion it would be contrary to the design philosophy. My reasoning is this. VPP is a forwarder, it's place in the network stack is the SW ASIC equivalent. It's primary goal is thus to forward packets as fast as possible, it's secondary goal is to be programmable as fast as pos

[vpp-dev] conditional compile based on API version?

2020-02-28 Thread Christian Hopps
How does one conditionally compile code based on the API version? I was looking for a compile time conditional I could then use #if's with, but I can't seem to find one. A release version #define would work too, although not be as nice as the per file semver one. I did find these are generated: