Hi Chetan,

> On 16 Apr 2021, at 07:04, chetan bhasin <chetan.bhasin...@gmail.com> wrote:
> 
> Hi Mohammed ,
> 
> After applying the patch you have mentioned , I am no longer facing the 
> compilation issue.
> 
> Thanks for your support. 
> 
> With Static RDMA linking , do we need to do anything extra while bringing our 
> application on the server having Mellanox Nic ?

No we don’t, it should work out of the box!
> 
> Thanks & Regards,
> Chetan

Regards

Mohammed
> 
> On Wed, Apr 14, 2021 at 8:33 PM chetan bhasin via lists.fd.io 
> <http://lists.fd.io/> <chetan.bhasin017=gmail....@lists.fd.io 
> <mailto:gmail....@lists.fd.io>> wrote:
> Thanks a lot Mohammed!
> 
> Let me try with the rdma-core and patch mentioned by you and 
> 
> Thanks,
> Chetan
> 
> On Wed, Apr 14, 2021 at 6:20 PM Mohammed Hawari <moham...@hawari.fr 
> <mailto:moham...@hawari.fr>> wrote:
> 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 
>> <mailto: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 (#19222): https://lists.fd.io/g/vpp-dev/message/19222
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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to