Hi Chetan You are building DPDK with Mellanox support relying on dlopen and the glue library which is fine. The default approach implemented in the VPP build system consists of statically linking DPDK with the the libraries provided by rdma-core (as it’s also built by the VPP build system). The default approach should work fine, provided this patch https://gerrit.fd.io/r/c/vpp/+/31876 <https://gerrit.fd.io/r/c/vpp/+/31876> is applied (specific to CentOS). But what you should work just fine. Now the reason why you need to comment dpdk_depends is kind of mysterious here…
Regards, Mohammed > On 14 Apr 2021, at 10:07, chetan bhasin <chetan.bhasin...@gmail.com> wrote: > > Hi, > > I have to do the following to enable Mellanox compilation under VPP21.01 with > dpdk 20.11. > > If I dont comment rdma-core dependencies , it will lead to undefined symbols > . > > Can anybody please correct , is this the right way to do it? > > -DPDK_MLX4_PMD ?= n > -DPDK_MLX5_PMD ?= n > -DPDK_MLX5_COMMON_PMD ?= n > +DPDK_MLX4_PMD := y > +DPDK_MLX5_PMD := y > +DPDK_MLX5_COMMON_PMD = y > > -DPDK_MLX_IBV_LINK ?= static > +DPDK_MLX_IBV_LINK := dlopen > > -dpdk_depends := rdma-core $(if $(ARCH_X86_64), ipsec-mb) > +#dpdk_depends := rdma-core $(if $(ARCH_X86_64), ipsec-mb) > > Thanks, > Chetan > > On Tue, Apr 6, 2021 at 4:10 PM chetan bhasin via lists.fd.io > <http://lists.fd.io/> <chetan.bhasin017=gmail....@lists.fd.io > <mailto:gmail....@lists.fd.io>> wrote: > Thanks Guys ! > > We have a requirement to compile vppp with DPDK mellanox driver . > > Right now issue what i understood is , when we compile vpp_2101 , using make > build-release , it builds mellanox , but when it is trying to install > vpp-ext-dep rpm , it got failed because glue library created of mellanox has > some undefined symbols , > For your reference , i have set following in dpdk.mk <http://dpdk.mk/> file > > -DPDK_MLX4_PMD ?= n > -DPDK_MLX5_PMD ?= n > +DPDK_MLX4_PMD := y > +DPDK_MLX5_PMD := y > -DPDK_MLX_IBV_LINK ?= static > +DPDK_MLX_IBV_LINK := shared > > please check below logs for reference- > > FAILED: drivers/net/mlx4/librte_net_mlx4_glue.so.21.0 > cc -o drivers/net/mlx4/librte_net_mlx4_glue.so.21.0 > 'drivers/net/mlx4/8672f8e@@rte_net_mlx4_glue@sha/mlx4_glue.c.o' > -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group > -Wl,-soname,librte_net_mlx4_glue.so.21.0 -Wl,--no-as-needed -pthread -lm -ldl > -lnuma -Wl,-export-dynamic -Wl,-h,librte_net_mlx4_glue.so.21.0 > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libmlx4.so > /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libibverbs.so > -Wl,--end-group > drivers/net/mlx4/8672f8e@@rte_net_mlx4_glue@sha/mlx4_glue.c.o: In function > `mlx4_glue_reg_mr': > mlx4_glue.c:(.text+0x277): undefined reference to `ibv_reg_mr_iova2' > collect2: error: ld returned 1 exit status > [8/547] Compiling C object > 'drivers/a715181@@tmp_rte_net_mlx4@sta/net_mlx4_mlx4_flow.c.o' > > ninja: build stopped: subcommand failed. > > On Thu, Apr 1, 2021 at 4:33 PM Юрий Иванов <format_...@outlook.com > <mailto:format_...@outlook.com>> wrote: > Hi, > > Or you can use nativa rdma driver as written in this post and build vpp as > usual. 😉 > > Regards. > От: vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io> <vpp-dev@lists.fd.io > <mailto:vpp-dev@lists.fd.io>> от имени Mohammed Hawari <moham...@hawari.fr > <mailto:moham...@hawari.fr>> > Отправлено: 1 апреля 2021 г. 13:16 > Кому: chetan bhasin <chetan.bhasin...@gmail.com > <mailto:chetan.bhasin...@gmail.com>> > Копия: vpp-dev <vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io>> > Тема: Re: [vpp-dev] How to enable Mellanox compilation in VPP 21.01 > > > Hi Chetan, > > If you are using CentOS, I’d suggest to cherry-pick > https://gerrit.fd.io/r/c/vpp/+/31876 <https://gerrit.fd.io/r/c/vpp/+/31876>. > Also please change the dpdk.mk <http://dpdk.mk/> to also set > DPDK_MLX5_COMMON_PMD = y. I hope this solves your issue. Otherwise, please > consider using the rdma native driver that does not rely on DPDK. > > Regards > > Mohammed >> On 30 Mar 2021, at 12:41, chetan bhasin <chetan.bhasin...@gmail.com >> <mailto:chetan.bhasin...@gmail.com>> wrote: >> >> Hello Everyone, >> >> I am upgrading to vpp 2101 . I am facing a compilation issue after enabling >> Mellanox compilation in dpdk.mk <http://dpdk.mk/> . >> >> --- a/build/external/packages/dpdk.mk <http://dpdk.mk/> >> +++ b/build/external/packages/dpdk.mk <http://dpdk.mk/> >> @@ -14,8 +14,8 @@ >> DPDK_PKTMBUF_HEADROOM ?= 128 >> DPDK_USE_LIBBSD ?= n >> DPDK_DEBUG ?= n >> -DPDK_MLX4_PMD ?= n >> -DPDK_MLX5_PMD ?= n >> +DPDK_MLX4_PMD ?= y >> +DPDK_MLX5_PMD ?= y >> DPDK_MLX5_COMMON_PMD ?= n >> >> >> Getting below errors . Anybody please help here ? >> >> [1344/1846] Compiling C object >> 'drivers/a715181@@tmp_rte_net_nfp@sta/net_nfp_nfpcore_nfp_nsp_cmds.c.o' >> [1345/1846] Linking target drivers/librte_net_mlx4.so.21.0 >> FAILED: drivers/librte_net_mlx4.so.21.0 >> cc -o drivers/librte_net_mlx4.so.21.0 >> 'drivers/a715181@@rte_net_mlx4@sha/meson-generated_.._rte_net_mlx4.pmd.c.o' >> 'drivers/a715181@@tmp_r >> te_net_mlx4@sta/net_mlx4_mlx4.c.o' >> 'drivers/a715181@@tmp_rte_net_mlx4@sta/net_mlx4_mlx4_ethdev.c.o' >> 'drivers/a715181@@tmp_rte_net_mlx4@sta >> /net_mlx4_mlx4_flow.c.o' >> 'drivers/a715181@@tmp_rte_net_mlx4@sta/net_mlx4_mlx4_intr.c.o' >> 'drivers/a715181@@tmp_rte_net_mlx4@sta/net_mlx4_ml >> x4_mp.c.o' 'drivers/a715181@@tmp_rte_net_mlx4@sta/net_mlx4_mlx4_mr.c.o' >> 'drivers/a715181@@tmp_rte_net_mlx4@sta/net_mlx4_mlx4_rxq.c.o' 'dri >> vers/a715181@@tmp_rte_net_mlx4@sta/net_mlx4_mlx4_rxtx.c.o' >> 'drivers/a715181@@tmp_rte_net_mlx4@sta/net_mlx4_mlx4_txq.c.o' >> 'drivers/a715181@ >> @tmp_rte_net_mlx4@sta/net_mlx4_mlx4_utils.c.o' >> 'drivers/a715181@@tmp_rte_net_mlx4@sta/net_mlx4_mlx4_glue.c.o' >> -Wl,--as-needed -Wl,--no-und >> efined -Wl,-O1 -shared -fPIC -Wl,--start-group >> -Wl,-soname,librte_net_mlx4.so.21 -Wl,--no-as-needed -pthread -lm -ldl >> -lnuma lib/librte_et >> hdev.so.21.0 lib/librte_eal.so.21.0 lib/librte_kvargs.so.21.0 >> lib/librte_telemetry.so.21.0 lib/librte_net.so.21.0 lib/librte_mbuf.so.21.0 >> lib/librte_mempool.so.21.0 lib/librte_ring.so.21.0 lib/librte_meter.so.21.0 >> drivers/librte_bus_pci.so.21.0 lib/librte_pci.so.21.0 drivers/ >> librte_bus_vdev.so.21.0 >> -Wl,--version-script=/root/tmp/vpp/build-root/build-vpp-native/external/src-dpdk/drivers/net/mlx4/version.map >> -lpt >> hread -L/root/tmp/vpp/build-root/install-vpp-native/external/lib64 >> -l:libbnxt_re-rdmav25.a -l:libcxgb4-rdmav25.a -l:libefa.a -l:libhns-rdm >> av25.a -l:libi40iw-rdmav25.a -l:libmlx4.a -l:libmlx5.a -l:libmthca-rdmav25.a >> -l:libocrdma-rdmav25.a -l:libqedr-rdmav25.a -l:libvmw_pvrdma-rdmav25.a >> -l:libhfi1verbs-rdmav25.a -l:libipathverbs-rdmav25.a -l:librxe-rdmav25.a >> -l:libsiw-rdmav25.a -l:libibverbs.a -l:librdma_util.a -l:libccan.a >> -Wl,--end-group '-Wl,-rpath,$ORIGIN/../lib:$ORIGIN/' >> -Wl,-rpath-link,/root/tmp/vpp/build-root/build-vpp-native/external/build-dpdk/lib >> >> -Wl,-rpath-link,/root/tmp/vpp/build-root/build-vpp-native/external/build-dpdk/drivers >> /bin/ld: cannot find -l:libbnxt_re-rdmav25.a >> /bin/ld: cannot find -l:libcxgb4-rdmav25.a >> /bin/ld: cannot find -l:libefa.a >> /bin/ld: cannot find -l:libhns-rdmav25.a >> /bin/ld: cannot find -l:libi40iw-rdmav25.a >> /bin/ld: cannot find -l:libmlx4.a >> /bin/ld: cannot find -l:libmlx5.a >> /bin/ld: cannot find -l:libmthca-rdmav25.a >> /bin/ld: cannot find -l:libocrdma-rdmav25.a >> /bin/ld: cannot find -l:libqedr-rdmav25.a >> /bin/ld: cannot find -l:libvmw_pvrdma-rdmav25.a >> /bin/ld: cannot find -l:libhfi1verbs-rdmav25.a >> /bin/ld: cannot find -l:libipathverbs-rdmav25.a >> /bin/ld: cannot find -l:librxe-rdmav25.a >> /bin/ld: cannot find -l:libsiw-rdmav25.a >> /bin/ld: cannot find -l:libibverbs.a >> /bin/ld: cannot find -l:librdma_util.a >> /bin/ld: cannot find -l:libccan.a >> collect2: error: ld returned 1 exit status >> >> >> >> >> > > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#19196): https://lists.fd.io/g/vpp-dev/message/19196 Mute This Topic: https://lists.fd.io/mt/81718770/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-