Re: [vpp-dev] VPP C++ API

2018-07-02 Thread Klement Sekera via Lists.Fd.Io
Hi, can you please run in gdb (or open core) and pass us a stack trace? Thanks, Klement On Sun, 2018-07-01 at 19:36 -0700, xpa...@gmail.com wrote: > Hello, > I'm trying to understand how works VOM wrapper for C++ API. > VOM manager header: https://pastebin.com/BgG7td5s > VOM manager cpp: 

Re: [csit-dev] [vpp-dev] VPP make test gives false positive

2018-06-25 Thread Klement Sekera via Lists.Fd.Io
We're one csit induced recheck away from getting this fixed. On Mon, 2018-06-25 at 14:30 +, Maciek Konstantynowicz (mkonstan) via Lists.Fd.Io wrote: > Any updates on the latest status? > > -Maciek > > > > > On 22 Jun 2018, at 18:07, Ole Troan wrote: > > > > > > > > 13188 is already

Re: [vpp-dev] Is VPP IPSec implementation thread safe?

2018-06-27 Thread Klement Sekera via Lists.Fd.Io
Hi, I agree that there is an unlikely corner case which could result in vpp assert. I don't think there is a real chance to hit this in a production image, since it would require you to successfully make two API calls (drop old entry, replace with new entry) while there are packets in flight.

Re: [vpp-dev] Verify consistently failing

2018-06-19 Thread Klement Sekera via Lists.Fd.Io
Hi, I created a debugging patch set https://gerrit.fd.io/r/#/c/13122/ which hints that there is something fishy going on with the python virtualenv. Per https://jenkins.fd.io/job/vpp-verify-master-ubuntu1604/12067/consol e:  10:21:46 make -C test TEST_DIR=/w/workspace/vpp-verify-master-

Re: [vpp-dev] API If Client doesnot have any pending request , it wont read the queue

2018-08-17 Thread Klement Sekera via Lists.Fd.Io
What exactly is the issue? According to vapi_dispatch() docstring this is expected: /**  * @brief loop vapi_dispatch_one until responses to all currently outstanding  * requests have been received and their callbacks called  *  * @note the dispatch loop is interrupted if any error is encountered

Re: [vpp-dev] API If Client doesnot have any pending request , it wont read the queue

2018-08-17 Thread Klement Sekera via Lists.Fd.Io
Hi Chetan, I think that in this case it's better to use blocking interface, as you are waiting for the events to come. You can take a look at test/ext/vapi_c_test.c - tests called  test_stats_1, _2 & _3 deal with stats - first two show a blocking, efficient interface, third one is non-blocking,

Re: [vpp-dev] CMake

2018-08-20 Thread Klement Sekera via Lists.Fd.Io
Yes, this causes test-debug target to take the old way (not cmake). This, though, seems a bit counter-intuitive. Shouldn't setting the value to "no" cause the build process to not use cmake? On Mon, 2018-08-20 at 12:15 +0200, Damjan Marion wrote: > > > > On 20 Aug 2018, at 11:55, Klement Sekera

Re: [vpp-dev] CMake

2018-08-20 Thread Klement Sekera via Lists.Fd.Io
Hi Damjan, it seems that the test-debug target is broken with the patch. The build process triggered by test-debug target jumps on the cmake train, but that train doesn't bring in the APIGEN and other stuff (e.g. libvppapiclient.so). I don't see vpp-api mentioned in src/CMakeLists.txt. Should it

Re: [vpp-dev] DSCP support in VPP

2018-08-30 Thread Klement Sekera via Lists.Fd.Io
Hi Martin, Can you describe your use case? You're looking at the correct place regarding the matching criteria. Adding the DSCP as additional criteria is not hard. Apart from API functions, definition and CLI funtions, it just needs to be added to a couple of comparison functions. Similarly,

Re: [vpp-dev] VPP C++ API

2018-07-04 Thread Klement Sekera via Lists.Fd.Io
Hi, this should fix your issue https://gerrit.fd.io/r/#/c/13349/ Thanks, Klement On Mon, 2018-07-02 at 13:57 +0300, Alexander Gryanko wrote: > Stack trace for thread 2: > > Thread 2 "main" received signal SIGABRT, Aborted. > [Switching to Thread 0x7fffedbff700 (LWP 814141)] >

Re: [vpp-dev] vapi recv error msg_id_name

2018-10-15 Thread Klement Sekera via Lists.Fd.Io
Hey, The reason why your name doesn't match the request is related to your code mixing vl_msg_id_t with vapi_msg_id_t. VPP internally assignes message IDs at startup based on it's runtime configuration - plugins. If a plugin is not loaded, it's API messages aren't loaded either. On the other

Re: [vpp-dev] vapi recv error msg_id_name

2018-10-17 Thread Klement Sekera via Lists.Fd.Io
getting a message without sending one is probably because of keepalive messages, which vapi doesn't handle automatically in your version. newer versions support automatic handling of keepalive messages by supplying the appropriate parameter to vapi_connect to do so. regarding tunnel_if_index -

Re: [vpp-dev] ipsec support for chained buffers.

2018-11-12 Thread Klement Sekera via Lists.Fd.Io
Hi Vijay, yes, it's planned. Regards, Klement Quoting Vijayabhaskar Katamreddy via Lists.Fd.Io (2018-11-11 23:56:37) >Hi > >  > >Is there any plans or any work in progress to extend the support for ipsec >encrypt nodes to support the chained buffers? > >  > >Thanks >

Re: [vpp-dev] how to set cb for keepalive of vapi-connection @ 18.10

2018-11-13 Thread Klement Sekera via Lists.Fd.Io
Hi, if you ask vapi to handle keepalives for you, why would you want to get callbacks for them? Regards, Klement Quoting wangchuan...@163.com (2018-11-13 07:27:33) >Hi�� >    At vpp stable/18.10, using vapi_connect to connect vpp and set the >"bool handle_keepalives " to true, >

Re: [vpp-dev] test-ext failures seen on master

2018-11-15 Thread Klement Sekera via Lists.Fd.Io
VCL IPv6 Thru Host Stack Extended D Tests > > == >run VCL thru host stack uni-directional (multiple sockets) test  >OK > >Ran 28 tests in 250.800s > >OK > > > =

Re: [vpp-dev] test-ext failures seen on master

2018-11-16 Thread Klement Sekera via Lists.Fd.Io
t test framework changes, are we running > multiple tests/vpps in parallel? I suspect that may be a source of issues. > > Florin > > > On Nov 15, 2018, at 12:11 PM, Klement Sekera via Lists.Fd.Io > > wrote: > > > > I'm seeing timeouts and coredumps... > >

Re: [vpp-dev] Using clang-format ForEachMacros?

2018-11-16 Thread Klement Sekera via Lists.Fd.Io
clang can format the macros just fine as they are. I added clang for checking the style of c++ code (mainly vapi code). C files are still checked using indent, which doesn't understand the macros ... Also I wasn't able to come up with a clang-format which matches the current indent style 1:1 so I

Re: [vpp-dev] test-ext failures seen on master

2018-11-16 Thread Klement Sekera via Lists.Fd.Io
ever this: > > make test-ext TEST=vcl.VCLCutThruTestCase.test_vcl_cut_thru_uni_dir_nsock > > runs just fine. After the latest test framework changes, are we running > multiple tests/vpps in parallel? I suspect that may be a source of issues. > > Florin > > > O

Re: [vpp-dev] Can program have more than 1 VAPI connection?

2018-11-07 Thread Klement Sekera via Lists.Fd.Io
Hi, sadly, no, because the underlying low-level library uses global variables. Regards, Klement Quoting wangchuan...@163.com (2018-11-07 13:52:39) >Hi all, >    Can i create more than 1 connection using vapi_connect in my program ? >ctx was defined at .so (more than 1)  > >

Re: [vpp-dev] how to set cb for keepalive of vapi-connection @ 18.10

2018-11-14 Thread Klement Sekera via Lists.Fd.Io
it's shared memory, unless vpp dies there is no reason for the connection to go down. if required, I would suggest you send periodic control pings. Quoting wangchuan...@163.com (2018-11-14 02:12:07) >worried that the connection might break. > >

Re: [vpp-dev] question about bfd protocol message

2018-09-25 Thread Klement Sekera via Lists.Fd.Io
Hi Xue, I'm not sure what protocol message you mean. Can you please elaborate or point to RFC number & section which describes the message you're interested in? Thanks, Klement Quoting xyxue (2018-09-25 09:48:58) >Hi guys�� >I��m testing the bfd . Is the bfd support protocol message?  >

Re: [vpp-dev] A bug in IP reassembly?

2018-09-25 Thread Klement Sekera via Lists.Fd.Io
Hi Kingwel, thanks for finding this bug. Your patch looks fine - would you mind making a similar fix in ip4_reassembly.c? The logic suffers from the same flaw there. Thanks, Klement Quoting Kingwel Xie (2018-09-25 11:06:49) >Hi, > >  > >I worked on testing IP reassembly recently,

Re: [vpp-dev] question about bfd protocol message

2018-09-25 Thread Klement Sekera via Lists.Fd.Io
ks, >Xue > >-- > >   > From: [1]Klement Sekera via Lists.Fd.Io > Date: 2018-09-25 16:57 > To: [2]薛欣颖; [3]vpp-dev > CC: [4]vpp-dev > Subject: Re: [vpp-dev] question about bfd protocol message >

Re: [vpp-dev] VPP's C-type-api example

2018-09-19 Thread Klement Sekera via Lists.Fd.Io
Quoting wangchuan...@163.com (2018-09-19 10:03:40) >I find the feature of the absent vapi. >There exists VALs in ***.api. What is `VAL`? >I copy the >master's [1]src/vpp-api/vapi/vapi_c_gen.py and  > [2]src/vpp-api/vapi/vapi_json_parser.py to >stable/1804,  >but compile

Re: [vpp-dev] Any tricks in IP reassembly ?

2018-12-13 Thread Klement Sekera via Lists.Fd.Io
The test framework spawns vpp with only one main thread and no workers. I had a patch which uses also worker threads but it never made it to git. It's grossly outdated by now. Anyhow, I don't think that's really possible with the current packet geneator implementation. Quoting

Re: [vpp-dev] Any tricks in IP reassembly ?

2018-12-12 Thread Klement Sekera via Lists.Fd.Io
That's as it is now. A rework of the code is planned, no ETA yet... Quoting mik...@yeah.net (2018-12-12 02:05:40) >W...What??? So the only way to make ip reassembly working correctly is to >keep one or more  interfaces attached to a single worker thread? >That does not sound efficient

Re: [vpp-dev] Ipv4 random reassembly failure on x86 and ARM

2018-12-20 Thread Klement Sekera via Lists.Fd.Io
Is this with https://gerrit.fd.io/r/#/c/16548/ merged? Quoting Juraj Linkeš (2018-12-20 12:09:12) >Hi Klement and vpp-dev, > >  > >[1]https://jira.fd.io/browse/VPP-1522 fixed the issue with an assert we've >been seeing with random reassembly, however, there's still some other >

Re: [vpp-dev] Any tricks in IP reassembly ?

2018-12-11 Thread Klement Sekera via Lists.Fd.Io
Hi Mikado, if the fragments get split between multiple workers, then eventually they'll get dropped after timing out ... Regards, Klement Quoting Mikado (2018-12-11 08:52:28) >Hi, > >   I have noticed that  “ip4-reassembly-feature” node  only >reassembles packets stored in the

Re: [vpp-dev] how can i del the ipsec Node that generated by ikev2?

2018-12-04 Thread Klement Sekera via Lists.Fd.Io
iked2 code in vpp is PoC quality, so bugs are to be expected. Feel free to submit a patch to fix the issue. You could also try strongswan solution using this plugin https://github.com/matfabia/strongswan/tree/vpp/src/libcharon/plugins/kernel_vpp Regards, Klement Quoting wangchuan...@163.com

Re: [vpp-dev] how can i del the ipsec Node that generated by ikev2?

2018-12-03 Thread Klement Sekera via Lists.Fd.Io
Can you please post the CLI commands which result in such state? Thanks, Klement Quoting wangchuan...@163.com (2018-12-03 04:12:55) >hi all, >    The ipsec Node generated by Ikev2 still existing after deleting the >ikev2 profile, how can I delete it? >Thanks! > >

Re: [vpp-dev] ikev2-ipsec-tunnel && NAT-T ?

2018-12-06 Thread Klement Sekera via Lists.Fd.Io
ipsec_sad_add_del_entry API - udp_encap parameter must be set to 1 Regards, Klement Quoting wangchuan...@163.com (2018-12-06 02:16:35) >hi Klement, >    which api? Thanks > >-- > >wangchuan...@163.com > >

Re: [vpp-dev] ikev2-ipsec-tunnel && NAT-T ?

2018-12-06 Thread Klement Sekera via Lists.Fd.Io
I don't think that the current PoC ikev2 code can do that. Regards, Klement Quoting wangchuan...@163.com (2018-12-06 11:29:12) >Klement, >    i saw the ipsec_sad_add_del_entry api , but in my mind, it was used to >create manual ipsec tunnel . >how to set the ipsec tunnel 

Re: [vpp-dev] Python Tests

2019-01-04 Thread Klement Sekera via Lists.Fd.Io
Hi Paul, I believe it's okay to just add people as reviewers afterwards. Thanks, Klement Quoting Paul Vinciguerra (2019-01-03 18:16:42) >I am working on a change to cleanup some anti-patterns in the test >framework code, but the scope is significantly larger.   >

Re: [vpp-dev] VPP's C-type-api example

2018-09-13 Thread Klement Sekera via Lists.Fd.Io
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.

Re: [vpp-dev] VPP's C-type-api example

2018-09-14 Thread Klement Sekera via Lists.Fd.Io
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. > >

Re: [vpp-dev] VPP's C-type-api example

2018-09-18 Thread Klement Sekera via Lists.Fd.Io
Hi, VAPI is autogenerated from .json files, which are generated from .api files. The API you are asking about is in src/vnet/classify/classify.api. See that file's history on when it appeared. As for your second question - I don't see any `obscure-mask` nor `clear-param` parameters. If you are

Re: [vpp-dev] VPP's C-type-api example

2018-09-19 Thread Klement Sekera via Lists.Fd.Io
Maybe it's something which the older compiler wasn't able to compile. Since the VAPI tests are not part of basic tests, it happens regularly, that something is added to API files, which the vapi compiler can't handle. But extended tests are not run as part of verify, so it gets merged anyway ...

Re: [vpp-dev] VPP's C-type-api example

2018-09-17 Thread Klement Sekera via Lists.Fd.Io
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

Re: [vpp-dev] VPP's C-type-api example

2018-09-17 Thread Klement Sekera via Lists.Fd.Io
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 wangchuan...@163.com (2018-09-17 12:00:27) >Hi Klement, >    Please accept my heartfelt thanks. >

Re: [vpp-dev] VPP's C-type-api example

2018-09-13 Thread Klement Sekera via Lists.Fd.Io
what is your api prefix set in the vapi_connect call? is vpp using the same prefix? Quoting Ole Troan (2018-09-13 18:35:29) > > 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

[vpp-dev] osleap job failing

2019-02-26 Thread Klement Sekera via Lists.Fd.Io
Hello, I'm facing an issue with osleap job, it very frequently fails with 12:56:59 'indent' is already installed. 12:56:59 No update candidate for 'indent-2.2.11-lp150.1.5.x86_64'. The highest available version is already installed. 12:56:59 'python3-rpm-macros' not found in package names. Trying

Re: [vpp-dev] VPP unit test with multiple workers

2019-03-12 Thread Klement Sekera via Lists.Fd.Io
Hi, there was an attempt at this some time ago, but the patch was never merged and the infra has changed a lot in meanwhile so I don't think it's worth it to rebase it. The patch was to run every existing test in both single and multi worker scenarios. You could probably extend the concept of

Re: [vpp-dev] vapi msg send

2019-02-12 Thread Klement Sekera via Lists.Fd.Io
What kind of message are you sending? You can take a look at /test/ext/vapi_c_test.c (or cpp) for example code. Quoting mhemmatp via Lists.Fd.Io (2019-02-12 15:07:12) > Hello all, > > I am going to use vapi to connect to a plugin in vpp. I am following this >instruction: > > 1-

Re: [vpp-dev] vapi msg send

2019-02-13 Thread Klement Sekera via Lists.Fd.Io
Your outlined procedure looks okay.. Maybe share some code? Quoting mhemmatp via Lists.Fd.Io (2019-02-12 22:30:34) >Klement,  thanks for your reply, our conversation was invisible to group I >posted it here. > >In general, in the procedure that I sent do you see a missing part to

Re: [vpp-dev] IPsec doesn't work with aes-gcm ciphering

2019-01-30 Thread Klement Sekera via Lists.Fd.Io
Hi, I see the issue, will come up with a patch shortly. Thanks, Klement Quoting Jan Gelety via Lists.Fd.Io (2019-01-30 10:22:18) >Hello vpp-dev team, > >  > >Our csit performance tests for Ipsec using aes-gcm ciphering started to >fail because created ipsec interface cannot

Re: [vpp-dev] IPsec doesn't work with aes-gcm ciphering

2019-01-30 Thread Klement Sekera via Lists.Fd.Io
Can you please try this patch and let me know if it fixes things for you? https://gerrit.fd.io/r/17163 Thanks, Klement Quoting Klement Sekera via Lists.Fd.Io (2019-01-30 11:08:12) > Hi, > > I see the issue, will come up with a patch shortly. > > Thanks, > Klement > >

[vpp-dev] false verified + 1 for gerrit jobs

2019-05-06 Thread Klement Sekera via Lists.Fd.Io
Hi all, I noticed a job getting a +1 even though some of the builds failed ... https://gerrit.fd.io/r/#/c/18444/ please note patch set 9 fd.io JJB Patch Set 9: Verified-1 Build Failed https://jenkins.fd.io/job/vpp-arm-verify-master-ubuntu1804/2459/ : FAILURE No problems were identified.

Re: [vpp-dev] FD.io - Gerrit 2.16 Changes

2019-07-31 Thread Klement Sekera via Lists.Fd.Io
Hi Vanessa, I pushed a couple of changes via your suggested git push origin HEAD:refs/for/master%wip and I noticed that on all of these the verify jobs were (attempted to) run. One of the advantages of draft changes is that it doesn’t eat resources for pointless verify jobs. Thanks, Klement

Re: [vpp-dev] Build jobs failure with No problems were identified. If you know why this problem occurred, please add a suitable Cause for it.

2020-02-03 Thread Klement Sekera via Lists.Fd.Io
Hi Click the first link -> console output -> show all You’ll see test failures. You can run locally these tests by invoking “make test”. Once fixed, reupload your change. HTH..Klement > On 3 Feb 2020, at 14:44, Shiva Shankar wrote: > > Hi everyone, > I am seeing below error messages

Re: [vpp-dev] BFD sends old remote discriminator in its control packet after session goes to DOWN state #vpp

2020-01-17 Thread Klement Sekera via Lists.Fd.Io
Hi, thank you for your report. Can you please apply this fix and verify that the behaviour is now correct? https://gerrit.fd.io/r/c/vpp/+/24388 Thanks, Klement > On 17 Jan 2020, at 07:04, sont...@gmail.com wrote: > > Hi, > > I have observed an incorrect behavior in BFD code of VPP. > I have

Re: [vpp-dev] VRRP Unit Tests failing on Master Ubuntu

2020-03-12 Thread Klement Sekera via Lists.Fd.Io
There is also test/scripts/test-loop.sh which might some users better. Regards, Klement > On 12 Mar 2020, at 19:08, Dave Wallace wrote: > > Hi Matt, > > Your patch [0] verified, Ray +1'd it, and I merged it. > > In my investigation on Naginator retries, I found an unrelated gerrit change >

Re: [vpp-dev] Storing vlib buffer index for later processing

2020-04-17 Thread Klement Sekera via lists.fd.io
You can reference reassembly code, which does something similar. e.g. ip4_sv_reass.c HTH, Klement > On 17 Apr 2020, at 18:03, Satya Murthy wrote: > > Hi , > > We are having a scenario to support as below and we would like to know what > we are doing here is correct or not. > > 1. Our graph

Re: [vpp-dev] Checkstyle script not work in ubuntu

2020-04-18 Thread Klement Sekera via lists.fd.io
clang-format can be tuned to emulate indent - it’s not 100% perfect match, but I’ve been using it for some time to format multi-line macros, e.g. pool_foreach and it’s been doing a pretty good job. Config file for that is already in vpp source tree (vpp/.clang-format) and used as default for

Re: [vpp-dev] Checkstyle script not work in ubuntu

2020-04-18 Thread Klement Sekera via lists.fd.io
sion has different tab defaults from the > indent default currently used in VPP (never use and 4 space vs always use and > 8 space). > > Thanks, > Chris. > >> On Apr 18, 2020, at 7:55 AM, Klement Sekera via lists.fd.io >> wrote: >> >> clang-format

Re: [vpp-dev] NAT ED empty users dump #nat #nat44

2020-05-12 Thread Klement Sekera via lists.fd.io
Alexander, It seems that fixing existing API is a huge pain. What we could do is implement an API which dumps all the sessions and the client app could sort it out. How many sessions do you typically have? As by default APIs run in a stop-the-world state, having millions of sessions will stop

Re: [vpp-dev] NAT ED empty users dump #nat #nat44

2020-05-12 Thread Klement Sekera via lists.fd.io
Hi Alexander, Understood. So when you get those sessions, what do you do with them? Thanks, Klement > On 12 May 2020, at 13:45, Alexander Chernavin via lists.fd.io > wrote: > > Hello Klement, > > I want to list all NAT sessions. In order to do that I used to call > VL_API_NAT44_USER_DUMP.

Re: [vpp-dev] NAT ED empty users dump #nat #nat44

2020-05-12 Thread Klement Sekera via lists.fd.io
Hi Alexander, thanks for your feedback. The concept of user was really used for quickly re-using existing sessions in NAT. With port-overloading, ports are no longer a precious resource and dropping “users” means not having to maintain an extra hash table. To better understand your problem,

Re: [vpp-dev] NAT ED empty users dump #nat #nat44

2020-05-12 Thread Klement Sekera via lists.fd.io
ED NAT no longer has “user” concept and it doesn’t differentiate one session from another. (So technically the API works just fine). Even if we wanted to recreate that information it means to build a hash of “users” on the fly for API purpose, do the dump and then throw it away. I don’t see any

Re: [vpp-dev] Unit Test Results in Random directories

2020-03-17 Thread Klement Sekera via Lists.Fd.Io
Hi Neale, When originally designing this, I opted in for `mktemp` as that’s the usual way to avoid clashes as at that time I assumed that this might be used on boxes where there are multiple users and they might like to run tests in parallel. At that time I didn’t expect issues like multiple

Re: [vpp-dev] ip full reassembly - is_custom_app field broken ?

2020-09-10 Thread Klement Sekera via lists.fd.io
Hi, can you please check out/try out this patch to see if it suits your needs? https://gerrit.fd.io/r/c/vpp/+/28739 Currently there is no easy way to write a unit test for it, would be nice to have it confirmed that it works. Thanks, Klement > On 8 Sep 2020, at 19:34, Satya Murthy wrote:

Re: [vpp-dev] Q about VPP NAT

2020-09-10 Thread Klement Sekera via lists.fd.io
Hi Nick, NAT doesn’t do any periodic cleanups, relying on a LRU list to reap stale sessions. This is by design, as it avoids hickups in traffic rate. Observed behaviour with session moving to WAIT-CLOSED and then CLOSED state is based on RFC, there is no assumption whether FIN/ACK was actually

Re: [vpp-dev] ip full reassembly - is_custom_app field broken ?

2020-09-08 Thread Klement Sekera via lists.fd.io
Hi Satya, so this is obviously unfinished. Would you mind writing the code for that? You just need to steal a piece of code from ip4_sv_reass.c to do that ;-) and then steer your packets at custom node. 986 /* *INDENT-OFF* */ 987

Re: [vpp-dev] Query on ip4-local / ip4-unicast Feature Arc sequence

2020-09-08 Thread Klement Sekera via lists.fd.io
Hi Satya, it’s also necessary to enable full reassembly feature along with your feature by calling ip4_full_reass_enable_disable_with_refcnt(). You can take a look at NAT code which already does that - snat_interface_add_del(). Regards, Klement > On 4 Sep 2020, at 14:48, Satya Murthy wrote:

Re: [vpp-dev] ip full reassembly - is_custom_app field broken ?

2020-09-08 Thread Klement Sekera via lists.fd.io
That’s a very good point. Looking at vnet_buffer, there seems to be some space left in it for this case … 190 struct 191 {

Re: [vpp-dev] NAT44 does not work with fragmented ICMP packets

2020-05-26 Thread Klement Sekera via lists.fd.io
Hi Miklos, thanks for your message. If is_non_first_fragment is set to true then rewrite will not happen. Can you take a look at what happens in ip4_sv_reass_inline for the first packet/fragment? Setting that flag should be pretty fool-proof 498 const u32 fragment_first =

Re: [vpp-dev] NAT44 does not work with fragmented ICMP packets

2020-05-26 Thread Klement Sekera via lists.fd.io
Thanks! I’ll push a patch. Regards, Klement > On 26 May 2020, at 12:33, Miklos Tirpak wrote: > > Yes, it works with ip0: > > vnet_buffer (b0)->ip.reass.is_non_first_fragment = >! !ip4_get_fragment_offset (ip0); > > Thanks, > Miklos > From: Klement Sekera -X (ksekera - PANTHEON TECH SRO

Re: [vpp-dev] NAT44 does not work with fragmented ICMP packets

2020-05-26 Thread Klement Sekera via lists.fd.io
I think it’s enough if instead of vlib_buffer_get_current(b0) we just use ip0 (that already takes save_rewrite_length into consideration). Can you please test with this modification? Thanks, Klement > On 26 May 2020, at 11:51, Miklos Tirpak wrote: > > Hi, > > I think there is a problem in

Re: [vpp-dev] Segfault in 'vapi_type_msg_header1_t_ntoh()' with a C++ api client #vpp #vapi

2020-05-28 Thread Klement Sekera via lists.fd.io
Hey, swapping context makes no sense since context is for client - client generates whatever context it wants and vpp just copies it from request to response, so that client can match response with request. So there is no reason for client to swap it when sending the message and then swap it

Re: [vpp-dev] NAT44 UDP sessions are not clearing

2020-06-01 Thread Klement Sekera via lists.fd.io
Hi, as you can see almost all of NAT sessions are timed out. NAT will automatically free and reuse them when needed again. this line: > udp LRU min session timeout 5175 (now 161589) hints whether immediate reuse is possible. Minimum session timeout in the LRU list for UDP sessions is 5175,

Re: [vpp-dev] NAT44 UDP sessions are not clearing

2020-06-02 Thread Klement Sekera via lists.fd.io
Hi Carlito, For ED NAT it doesn’t, as ED NAT no longer has any “user” concept. The code for different flavours of NAT needs to be split and polished anyway. Idea is to have data/code/APIs separate where appropriate. Thanks, Klement > On 2 Jun 2020, at 20:31, Carlito Nueno wrote: > > Hi

Re: [vpp-dev] Query on Inner packet Fragmentation and Reassembly

2020-07-01 Thread Klement Sekera via lists.fd.io
Hi Murthy, yes it does. Code is in ip4_sv_reass.c or ip4_full_reass.c. First one is shallow reassembly (as in, know 5 tuple for all fragments with having to actually reassemble them), second one is full reassembly. Regards, Klement > On 1 Jul 2020, at 14:41, Satya Murthy wrote: > > Hi , >

Re: [vpp-dev] Issue while pushing code for gerrit review

2020-06-24 Thread Klement Sekera via lists.fd.io
Hi, just amend the commit message and add it by hand. Commit message must contain a line like Type: fix or Type: improvement or whatever is applicable. Regards, Klement > On 24 Jun 2020, at 10:31, Chinmaya Aggarwal wrote: > > After i commit my fix, i run the script

Re: [vpp-dev] Issue while pushing code for gerrit review

2020-06-24 Thread Klement Sekera via lists.fd.io
Type: fix needs to be on a separate line. Take a look at other commit messages for examples. > On 24 Jun 2020, at 10:42, Chinmaya Aggarwal wrote: > > Still not working for me. I executed > git commit -s --amend -m 'Type: fix sr: fix for SID index across segment > lists within a sr policy' >

Re: [vpp-dev] NAT44 UDP sessions are not clearing

2020-06-03 Thread Klement Sekera via lists.fd.io
Transitory means that the session has not been fully established. Transitory (wait-closed) means the session has been established and then closed and it’s in transitory timeout, after which it will move to transitory (closed). Sessions in this state are not eligible for freeing. Transitory

Re: [vpp-dev] Vapi causes vpp to crash #vapi

2020-06-09 Thread Klement Sekera via lists.fd.io
Hi, the issue was caused by a missing memset in shared memory allocation routine. After a few runs, newly allocated message in shared memory would no longer be zero, but random garbage as left over by previous messages, this was then used by vapi_c_test leading to crash.

Re: RES: RES: RES: [vpp-dev] NAT memory usage problem for VPP 20.09 compared to 20.05 due to larger translation_buckets value

2020-11-30 Thread Klement Sekera via lists.fd.io
t; > Best regards > > -Mensagem original- > De: vpp-dev@lists.fd.io Em nome de Klement Sekera via > lists.fd.io > Enviada em: quinta-feira, 26 de novembro de 2020 18:16 > Para: Marcos - Mgiga > Cc: Elias Rudberg ; vpp-dev@lists.fd.io; > dmar...@me.com > Assunto:

Re: [vpp-dev] NAT memory usage problem for VPP 20.09 compared to 20.05 due to larger translation_buckets value

2020-11-26 Thread Klement Sekera via lists.fd.io
Hi Elias, mentioned formula was updated per guidance from Damjan: optimal number of bihash buckets is number of expected entries divided by 2.5 rounded to closest pow2 (might he higher or lower). Regarding memory usage: bihash code has been changed and now uses main heap. Consequently, it

Re: [vpp-dev] VPP hanging and running out of memory due to infinite loop related to nat44-hairpinning

2020-12-03 Thread Klement Sekera via lists.fd.io
I can’t see how that could help as this is not a fragmented packet … ? Thanks, Klement > On 2 Dec 2020, at 23:57, Mrityunjay Kumar wrote: > > Guys, I am not sure , my input is helpful or not but the same issue was > triggered to me and we concluded it in a different way. > In your packet

Re: RES: RES: [vpp-dev] NAT memory usage problem for VPP 20.09 compared to 20.05 due to larger translation_buckets value

2020-11-26 Thread Klement Sekera via lists.fd.io
Hi, memory settings are gone from startup.conf. As I already mentioned, those were pointless anyway as the tables now reside in main heap. Translation hash buckets are calculated automatically based on max sessions and max users parameters. Thanks, Klement > On 26 Nov 2020, at 21:50, Damjan

Re: [vpp-dev] VPP hanging and running out of memory due to infinite loop related to nat44-hairpinning

2020-12-02 Thread Klement Sekera via lists.fd.io
Hi Elias, what is the point of such static mapping? What is the use case here? Thanks, Klement > On 2 Dec 2020, at 16:39, Elias Rudberg wrote: > > One scenario when this happens is when a UDP (or TCP) packet is sent > from a client on the inside with a destination IP address that matches > an

Re: [vpp-dev] VPP hanging and running out of memory due to infinite loop related to nat44-hairpinning

2020-12-02 Thread Klement Sekera via lists.fd.io
Hi Elias, so there are two ways of solving this: 1. don’t support such a static mapping (i.e. refuse to create it) 2. make it work for #2 your snat_hairpinning fix might be the right idea. If there is really no change then there is no point doing an extra lookup right? Would you mind pushing

Re: RES: RES: [vpp-dev] Increasing NAT worker handoff frame queue size NAT_FQ_NELTS to avoid congestion drops?

2020-11-13 Thread Klement Sekera via lists.fd.io
at 17:51, Marcos - Mgiga wrote: >> >> So you mean that this situation ( congestion drops) is most likely to occur >> when the system in general is idle than when it is processing a large amount >> of traffic? >> >> Best Regards >> >> Marcos >> >

Re: Handoff design issues [Re: RES: RES: [vpp-dev] Increasing NAT worker handoff frame queue size NAT_FQ_NELTS to avoid congestion drops?]

2020-11-16 Thread Klement Sekera via lists.fd.io
tes around 255, I did see packet drops, but no congestion drops. >> >> HTH, >> Klement >> >>> On 13 Nov 2020, at 17:51, Marcos - Mgiga wrote: >>> >>> So you mean that this situation ( congestion drops) is most likely to occur >>> when the sy

Re: RES: RES: RES: [vpp-dev] Increasing NAT worker handoff frame queue size NAT_FQ_NELTS to avoid congestion drops?

2020-11-16 Thread Klement Sekera via lists.fd.io
reducing the number of VPP threads as an option to work this > issue around, since you would probably increase the vector rate per thread? > > Best Regards > > -Mensagem original- > De: vpp-dev@lists.fd.io Em nome de Klement Sekera via > lists.fd.io > Enviada em: se

Re: [vpp-dev] Increasing NAT worker handoff frame queue size NAT_FQ_NELTS to avoid congestion drops?

2020-11-16 Thread Klement Sekera via lists.fd.io
Hi Elias, thanks for getting back with some real numbers. I only tested with two workers and a very simple case and in my case, increasing queue size didn’t help one bit. But again, in my case there was 100% handoff rate (every single packet was going through handoff), which is most probably

Re: [vpp-dev] ip full reassembly - is_custom_app field broken ?

2020-11-09 Thread Klement Sekera via lists.fd.io
Hi, I don’t. I can eventually write one of course. Or maybe you’d like to give it a try? It should be almost 1:1 to ip4 change … Thanks, Klement > On 9 Nov 2020, at 11:18, Satya Murthy wrote: > > Hi Klement, > > Do you have the similar changes for ip6_full_reassembly.c as well. > If so,

Re: [vpp-dev] Increasing NAT worker handoff frame queue size NAT_FQ_NELTS to avoid congestion drops?

2020-11-13 Thread Klement Sekera via lists.fd.io
Hi Elias, I’ve already debugged this and came to the conclusion that it’s the infra which is the weak link. I was seeing congestion drops at mild load, but not at full load. Issue is that with handoff, there is uneven workload. For simplicity’s sake, just consider thread 1 handing off all the

Re: [vpp-dev] vpp hangs with bfd configuration

2021-06-10 Thread Klement Sekera via lists.fd.io
Hi Sudhir, this looks like a FIB code issue, even though it manifests when using BFD. Last I knew, Neale was the FIB guy, not sure who is now… Thanks, Klement > On 10 Jun 2021, at 08:50, Sudhir CR via lists.fd.io > wrote: > > Hi All, > when we are trying to establish a BFD session between

Re: [vpp-dev] VPP C++ Plugin API

2021-06-21 Thread Klement Sekera via lists.fd.io
Hi James, On vpp master branch running vpp like this: env STARTUP_CONF=/home/ksekera/startup.conf make debug with ksekera@c984e4769eef ~> cat startup.conf unix { interactive cli-listen /run/vpp/cli.sock gid 1000 } plugins { plugin dpdk_plugin.so { disable } } and your code

Re: [vpp-dev] Make test help

2021-04-26 Thread Klement Sekera via lists.fd.io
Hi Govind, there is no explicit startup.conf used by test framework. All arguments are passed using VPP command line built setUpConstants() function of VppTestCase. Regards, Klement > On 23 Apr 2021, at 18:13, Govindarajan Mohandoss > wrote: > > Dear Maintainers, > I would like to enable a

[vpp-dev] make test-checkstyle-diff

2021-03-25 Thread Klement Sekera via lists.fd.io
Hi all, I’ve introduced a new checkstyle target, which should ease development. This one does a similar thing as test-checkstyle, but only on changed files. This is useful for local verification as it’s a bit faster and doesn’t pollute your screen with messages about checking unchanged files.

Re: [vpp-dev] Thread safety issue in NAT plugin regarding counter for busy ports

2021-04-01 Thread Klement Sekera via lists.fd.io
Hi Elias, it’s spot on. I think all of it. Would you like to push an atomic-increment patch or should I? Thanks for spotting this!!! Klement > On 1 Apr 2021, at 13:39, Elias Rudberg wrote: > > Hello VPP experts, > > I think there is a thread safety issue in the NAT plugin regarding the >

[vpp-dev] tests - attach debug option available

2021-03-16 Thread Klement Sekera via lists.fd.io
Hi all, I implemented a new debug option for make test called ‘attach’. This has been requested a couple of times over the last few months and while it has some drawbacks, it also has advantages. It’s not merged yet. https://gerrit.fd.io/r/c/vpp/+/31663 As always make test-help is full of

Re: [vpp-dev] tests - attach debug option available

2021-03-18 Thread Klement Sekera via lists.fd.io
a papi executor class. The test > cases depend on the vppapiclient and the stats client. They should be the > only dependencies in the base class, anything else is a concrete > implementation detail. > > Paul > > > > On Tue, Mar 16, 2021 at 12:35 PM Klement Sekera

Re: [vpp-dev] NAT44 how to control external address assignment from pool?

2021-02-23 Thread Klement Sekera via lists.fd.io
Hey, just a heads up - there is a similar request to yours which came from a different direction. I’ll be making a change which I think will help your situation as well. Stay tuned. Regards, Klement > On 22 Feb 2021, at 10:00, Юрий Иванов wrote: > > Hello Klement, > > Thanks for reply. >

Re: [vpp-dev] NAT44 how to control external address assignment from pool?

2021-02-16 Thread Klement Sekera via lists.fd.io
Hi, let me chime in and explain a bit more. DET NAT also known as CGNAT (as in carrier-grade NAT) is designed to conform to LI (lawful intercept) requirements. So, if you, as an internet provider are required by law to be able to provide a user identification based on outside address + port

Re: [vpp-dev] NAT44 how to control external address assignment from pool?

2021-02-16 Thread Klement Sekera via lists.fd.io
I see, so you’re not using deterministic NAT. Which NAT flavour are you using? I think what you are requesting is not provided by VPP at this moment, but looking at the allocation algorithm, it might be possible to implement such behaviour. It should be relatively straightforward in EI NAT and

[vpp-dev] upcoming change in nat44-ed static mapping API

2021-09-28 Thread Klement Sekera via lists.fd.io
Hi Matt/vpp-dev, I’m reaching out after discussion with Andrew regarding an upcoming change in behaviour of an API. Currently, when nat44_ed_add_del_static_mapping[_v2] is called, the supplied u8 protocol value is taken and silently converted into NAT_PROTOCOL_(TCP|UDP|ICMP|OTHER). Part of

Re: [vpp-dev] Struggling with low vector size ( < 5-10) seeking expert advice

2021-11-19 Thread Klement Sekera via lists.fd.io
Hey, Efficiency increases (a lot) with vector size, so pondering packet rates at low sizes doesn’t make much sense. Looking at vector size, you can tell how loaded VPP is. At your vector size, VPP is slacking off and efficiency is thus low, but it doesn’t matter, because you are not processing

Re: [vpp-dev] Struggling with low vector size ( < 5-10) seeking expert advice

2021-11-22 Thread Klement Sekera via lists.fd.io
I’d say that that’s quite pointless. If your vector size is small it means VPP has a lot of headroom in your environment. Maybe take a look at config options - there is one which catches my eye ‘unix {poll-sleep-usec}’ which might help you get what you want at the cost of probably not being

  1   2   >