[vpp-dev] Support for VPP compilation in offline mode

2023-01-03 Thread Chinmaya Aggarwal
Hi,

Currently as part of VPP compilation, there are commands such as "make 
install-dep" and "make install-ext-deps" which downloads required dependent 
packages from internet. We want to automate the VPP compilation in offline mode 
i.e. our environment will not have internet access and we want to compile VPP 
in such an environment. Since the above mentioned commands by default reach out 
to internet for downloading the required packages, how can we have an offline 
setup for VPP compilation?

Thanks and Regards,
Chinmaya Agarwal.

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#22410): https://lists.fd.io/g/vpp-dev/message/22410
Mute This Topic: https://lists.fd.io/mt/96035761/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [vpp-dev] Slow VPP performance vs. DPDK l2fwd / l3wfd

2023-01-03 Thread rtox
Hi Matt,

thanks. The *no-multi-seq* option is actually dropping the performance even 
more. Once enable it drops from 5 Mpps ( out of expected 10 Mpps) to less than 
< 1 Mpps. Therefore I disabled the option again.

The dpdk applications foward the full 10 Mpps without any dev-args:

> 
> ./dpdk-l2fwd -n 4 -l 6  -a :4b:00.0 -a :4b:00.1   -- -q 2 -p 0x3

but also adding those options confirm the full 10 Mpps. Either way *l2fwd* will 
not drop any packets and run the full load.

> 
> ./dpdk-l2fwd -n 4 -l 6  -a
> :4b:00.0,mprq_en=1,rxqs_min_mprq=1,mprq_log_stride_num=9,txq_inline_mpw=128,rxq_pkt_pad_en=1,dv_flow_en=0
> -a
> :4b:00.1,mprq_en=1,rxqs_min_mprq=1,mprq_log_stride_num=9,txq_inline_mpw=128,rxq_pkt_pad_en=1,dv_flow_en=0
> -- -q 2 -p 0x3

Contrary by using the default */etc/vpp/startup.conf* options of DPDK I only 
yield 4 Mpps out of 10 Mpps expected.
Once I added the devargs 
*mprq_en=1,rxqs_min_mprq=1,mprq_log_stride_num=9,txq_inline_mpw=128,rxq_pkt_pad_en=1,dv_flow_en=0*
 it gained another 20% ( as recommended in DPDK mellanox perf-report )

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#22409): https://lists.fd.io/g/vpp-dev/message/22409
Mute This Topic: https://lists.fd.io/mt/95959719/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [vpp-dev] Slow VPP performance vs. DPDK l2fwd / l3wfd

2023-01-03 Thread Matthew Smith via lists.fd.io
What arguments did you pass to l2fwd and l3fwd when you started them up?

Your NIC statistics show RX misses due to lack of available buffers

HundredGigabitEthernet4b/0/0   1 up   HundredGigabitEthernet4b/0/0
[...]
  rx_out_of_buffer 86941
HundredGigabitEthernet4b/0/1   2 up   HundredGigabitEthernet4b/0/1
[...]
  rx_out_of_buffer155395

I don't know if those errors are enough to cause the difference in your
throughput measurements between l2fwd/l3fwd and VPP, but it would probably
be worthwhile to increase buffers-per-numa and repeat your tests.

I have heard advice in the past that performance with Mellanox DPDK PMDs
can be improved by setting the no-multi-seg option. I don't know whether
that is still true and I never compared performance with that option set vs
without, so I'm not sure how much it would help. But it may be worth trying.

Thanks,
-Matt


On Tue, Jan 3, 2023 at 8:21 AM  wrote:

> Hi @Benoit, yes I can confirm NIC and VPP worker are on same node-0 . I am
> also using the same core-id for the benchmark comparison against plain dpdk
> l2fwd/l3fwd.
> 
>
>

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#22408): https://lists.fd.io/g/vpp-dev/message/22408
Mute This Topic: https://lists.fd.io/mt/95959719/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [vpp-dev] Slow VPP performance vs. DPDK l2fwd / l3wfd

2023-01-03 Thread rtox
Hi @Benoit, yes I can confirm NIC and VPP worker are on same node-0 . I am also 
using the same core-id for the benchmark comparison against plain dpdk 
l2fwd/l3fwd.

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#22407): https://lists.fd.io/g/vpp-dev/message/22407
Mute This Topic: https://lists.fd.io/mt/95959719/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [vpp-dev] VPP crashes with vlib_worker_thread_barrier_syn_int:thread deadlock

2023-01-03 Thread Benoit Ganne (bganne) via lists.fd.io
The issue seems to be that the main thread wants to reply to an ARP, but it 
timeouts on the worker barrier:
 1) why the worker does not yield to the main thread in a timely manner: 
workers should always complete processing in less than 1s. You can try to use 
elog to identify which nodes takes too long: 
https://s3-docs.fd.io/vpp/23.02/developer/corefeatures/eventviewer.html
 2) why does the main thread is receiving ARP to begin with? Can you share the 
output of 'show int rx'?

Best
ben

> -Original Message-
> From: vpp-dev@lists.fd.io  On Behalf Of Mechthild
> Buescher via lists.fd.io
> Sent: Thursday, December 22, 2022 12:25
> To: vpp-dev@lists.fd.io
> Subject: Re: [vpp-dev] VPP crashes with
> vlib_worker_thread_barrier_syn_int:thread deadlock
> 
> Hi Piotr,
> 
> 
> 
> Thanks for your hint. We could nail down the problem a bit and would like
> to ask for your suggestion on how to solve it.
> 
> 
> 
> The problem occurs when there is traffic received on a DPDK-interface and
> shall be forwarded to a host interface. Here are the snippets of the
> configuration which we think is relevant (note, it’s a different setup
> compared to previous email, here we have one socket and less cpus):
> 
> 
> 
> We configure CPU’s 2,17,18 to be isolated:
> 
> # cat /proc/cmdline
> 
> BOOT_IMAGE=/vmlinuz-5.3.18-150300.59.76-default root=UUID=439b3b24-9c1d-
> 4b6f-b024-539b50cb7480 rootflags=subvol=@ intel_iommu=on iommu=pt
> intel_idle.max_cstate=0 processor.max_cstate=0 idle=poll
> intel_pstate=disable isolcpus=2,3,4,5,6,17,18,19,20,21,22 nohz=on
> nohz_full=2,3,4,5,6,17,18,19,20,21,22
> rcu_nocbs=2,3,4,5,6,17,18,19,20,21,22 rcu_nocb_poll
> irqaffinity=0,1,7,8,9,10,11,12,13,14,15,16,23,24,25,26,27,28,29,30,31
> hugepagesz=2M hugepages=2048 hugepagesz=1G hugepages=4
> default_hugepagesz=2M transparent_hugepage=never nosoftlookup
> nmi_watchdog=0 tsc=reliable hpet=disable clocksource=tsc skew_tick=1
> mce=ignore_ce splash console=ttyS0,115200 psi=1 audit=1 apparmor=1
> security=apparmor
> 
> 
> 
> And we use those isolated CPU’s for the workers and one non-isolated CPU
> for the main-thread:
> 
> cpu {
> 
> main-core 1
> 
> corelist-workers 2,17,18
> 
> }
> 
> 
> 
> The relevant DPDK-interface is Radio-0:
> 
> dpdk {
> 
> dev default {
> 
> num-rx-queues 3
> 
> }
> 
> 
> 
> uio-driver vfio-pci
> 
> 
> 
> dev :17:00.1 {
> 
> name Radio-0
> 
> }
> 
> :
> 
> }
> 
> 
> 
> And then we have the following configuration:
> 
> set interface state Radio-0 up
> 
> create host-interface name Vpp2Host
> 
> set interface state host-Vpp2Host up
> 
> set interface rx-placement host-Vpp2Host main
> 
> create sub-interfaces Radio-0 3092
> 
> set interface state Radio-0.3092 up
> 
> create sub-interfaces host-Vpp2Host 3092
> 
> set interface state host-Vpp2Host.3092 up
> 
> set interface l2 bridge Radio-0.3092 3092
> 
> set interface l2 bridge host-Vpp2Host.3092 3092
> 
> 
> 
> This means, we receive traffic on a DPDK interface and try to forward it
> via a L2 bridge to the host. The DPDK interface is on an isolated CPU
> while the host interface is on a non-isolated CPU. My suspicion is that
> this is the problem – do you agree? Do you have any idea how we can solve
> this? The Radio-0 interface is used for OAM via vlan 3092 (this is what
> you see in the above configuration) as well as for traffic (untagged),
> that’s why we want to have it on an isolated CPU.
> 
> 
> 
> Thank you for your support,
> 
> 
> 
> BR/Mechthild
> 
> 
> 
> From: vpp-dev@lists.fd.io  on behalf of Bronowski,
> PiotrX via lists.fd.io 
> Date: Wednesday, 21. December 2022 at 17:24
> To: vpp-dev@lists.fd.io 
> Subject: Re: [vpp-dev] VPP crashes with
> vlib_worker_thread_barrier_syn_int:thread deadlock
> 
> Hi Mechthild,
> 
> 
> 
> Your issue is caused by the main thread waiting too long for a worker to
> finish. You may examine these lines in src/vlib/threads.h:
> 
> 
> 
> 171 /* Check for a barrier sync request every 30ms */
> 
> 172 #define BARRIER_SYNC_DELAY (0.03)
> 
> 173
> 
> 174 #if CLIB_DEBUG > 0
> 
> 175 /* long barrier timeout, for gdb... */
> 
> 176 #define BARRIER_SYNC_TIMEOUT (600.1)
> 
> 177 #else
> 
> 178 #define BARRIER_SYNC_TIMEOUT (1.0)
> 
> 179 #endif
> 
> 
> 
> Your restart is caused by the timeout defined in these lines. You may
> increase it to investigate your issue (of course it is not a fix). After
> increasing timeout and being in interactive mode you can issue command
> “show run” it will tell you in which node you are spending most of your
> time and potentially identify source of your problem. Alternatively, you
> may use perf tool for that task.
> 
> BR,
> 
> Piotr
> 
> 
> 
> From: vpp-dev@lists.fd.io  On Behalf Of Mechthild
> Buescher via lists.fd.io
> Sent: Wednesday, December 21, 2022 3:24 PM
> To: vpp-dev@lists.fd.io
> Subject: [vpp-dev] VPP crashes with
> vlib_worker_thread_barrier_syn_int:thread deadlock
> 
> 
> 
> Hi,
> 

Re: [vpp-dev] Unable to run make pkg-rpm with Sanitizer enable.

2023-01-03 Thread Benoit Ganne (bganne) via lists.fd.io
> I am using GCC version 8.5.0 20210514 (Red Hat 8.5.0-17) (GCC) which is
> upgraded and has the above errors.
> How it can be fixed?

My point was to use either a newer version of GCC or LLVM - AddressSanitizer is 
quite demanding for the compiler, the newest the better. I think CentOS 
maintains 'devtoolset' packages with newer compilers.

Best
ben

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#22405): https://lists.fd.io/g/vpp-dev/message/22405
Mute This Topic: https://lists.fd.io/mt/96024389/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [vpp-dev] Unable to run make pkg-rpm with Sanitizer enable.

2023-01-03 Thread 2201kamaljeet
Thanks for the frequent reply.

Hi Benoit,
I am using GCC version 8.5.0 20210514 (Red Hat 8.5.0-17) (GCC) which is 
upgraded and has the above errors.
How it can be fixed?

Regards,
Kamaljeet

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#22404): https://lists.fd.io/g/vpp-dev/message/22404
Mute This Topic: https://lists.fd.io/mt/96024389/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [vpp-dev] Slow VPP performance vs. DPDK l2fwd / l3wfd

2023-01-03 Thread Benoit Ganne (bganne) via lists.fd.io
I see you run the VPP worker on core 6, is it on the same NUMA node as the NIC? 
You can check with 'sh pci' and 'sh thr'.

Best
ben

> -Original Message-
> From: vpp-dev@lists.fd.io  On Behalf Of r...@gmx.net
> Sent: Friday, December 30, 2022 20:05
> To: vpp-dev@lists.fd.io
> Subject: [vpp-dev] Slow VPP performance vs. DPDK l2fwd / l3wfd
> 
> 
> Hi VPP team,
> 
> need to wrap my head around why VPP is not even able to process 10 Mpps
> one single-core setup.
> Afaik VPP xconnect ( comparable to l2fwd) or L3-routing ( l3wfd) should
> yield 10 Mpps even back in 2017 (  slide 15
> https://wiki.fd.io/images/3/31/Benchmarking-sw-data-planes-Dec5_2017.pdf
> or p16 https://lfnetworking.org/wp-
> content/uploads/sites/7/2022/06/benchmarking_sw_data_planes_skx_bdx_mar07_
> 2019.pdf )
> 
> My setup is quite up-to-date:
> 
> Traffic Gen: TRex running on  Intel(R) Xeon(R) Gold 6354 CPU @ 3.00GHz
> DuT:   VPP 22.10  running on Icelake Intel(R) Xeon(R) Platinum 8352Y CPU @
> 2.20GHz
> 
> NICs: ConnectX-6 Dx Dualport
> OS: Ubuntu Server 20.04
> 
> VPP compiled from src . Tag 22.10. Incl. changes to compile for MLX5_PMD.
> 
> VPP show dpdk version:
> DPDK Version: DPDK 22.07.0
> DPDK EAL init args:   --in-memory --no-telemetry --file-prefix vpp -a
> :4b:00.0,mprq_en=1,rxqs_min_mprq=1,mprq_log_stride_num=9,txq_inline_mp
> w=128,rxq_pkt_pad_en=1 -a
> :4b:00.1,mprq_en=1,rxqs_min_mprq=1,mprq_log_stride_num=9,txq_inline_mp
> w=128,rxq_pkt_pad_en=1
> 
> QUESTION:
> 
> Running the a plain DPDK 22.07 example l2fwd or l3fwd yields > 10 Mpps (
> 100 Gbps line rate) with 1 lcore. Also no additional dpdk options
> required.
> 
> Once I run either xconnect or L3 routing with VPP, the same test drops to
> 6 Mpps or less. It is puzzling why VPP is not even close the same exact
> dpdk l2fwd/ l3wfd example? Any advise?
> 
> 
> Here are the additional cmds to configure either l2fwd or L3-routing in
> VPP:
> 
> ```bash
>  set interface l2 xconnect HundredGigabitEthernet4b/0/0
> HundredGigabitEthernet4b/0/1
>  set interface l2 xconnect HundredGigabitEthernet4b/0/1
> HundredGigabitEthernet4b/0/0
> 
> # l3 routing
>  set interface ip address HundredGigabitEthernet4b/0/0 10.10.1.1/24
>  set interface ip address HundredGigabitEthernet4b/0/1 10.10.2.1/24
>  ip route add 16.0.0.0/8 via 10.10.1.2
>  ip route add 48.0.0.0/8 via 10.10.2.2
> 
> ```
> 

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#22403): https://lists.fd.io/g/vpp-dev/message/22403
Mute This Topic: https://lists.fd.io/mt/95959719/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [vpp-dev] Unable to run make pkg-rpm with Sanitizer enable.

2023-01-03 Thread Benoit Ganne (bganne) via lists.fd.io
Which compiler do you use? Try upgrading to a newer toolchain or switch between 
GCC and LLVM.

Best
ben

> -Original Message-
> From: vpp-dev@lists.fd.io  On Behalf Of
> 2201kamalj...@gmail.com
> Sent: Tuesday, January 3, 2023 8:09
> To: vpp-dev@lists.fd.io
> Subject: [vpp-dev] Unable to run make pkg-rpm with Sanitizer enable.
> 
> Hi All,
> 
> 
> I want to build and make pkg-rpm with Address sanitizer=ON on CentOS
> Stream release 8
> 
>  While compiling it is working fine with this command : make build
> VPP_EXTRA_CMAKE_ARGS=-DVPP_ENABLE_SANITIZE_ADDR=ON, and also showing that
> address sanitizer(flag) is enabled.
>  But, when while doing make pkg-rpm with the command : make pkg-rpm
> VPP_EXTRA_CMAKE_ARGS=-DVPP_ENABLE_SANITIZE_ADDR=ON
>  It is producing the below error:
> 
> 
> home/usr/vpp/build-root/rpmbuild/vpp-23.02/src/vppinfra/vec_bootstrap.h:
> In function 'vec_header':
> /home/usr/vpp/build-root/rpmbuild/vpp-
> 23.02/src/vppinfra/vec_bootstrap.h:90:1: error: inlining failed in call to
> always_inline 'vec_get_header_size': function attribute mismatch
>  vec_get_header_size (void *v)
>  ^~~
> /home/usr/vpp/build-root/rpmbuild/vpp-
> 23.02/src/vppinfra/vec_bootstrap.h:105:18: note: called from here
>return v ? v - vec_get_header_size (v) : 0;
>   ^~~
> Regards,
> Kamaljeet

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#22402): https://lists.fd.io/g/vpp-dev/message/22402
Mute This Topic: https://lists.fd.io/mt/96024389/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-