By the way, I've added to my example also the path to vdpa and regex driver which are not needed if you are using only net pmd.
Kindest regards, Raslan Darawsheh > -----Original Message----- > From: users <[email protected]> On Behalf Of Raslan Darawsheh > Sent: Monday, December 14, 2020 10:27 AM > To: Gerry Wan <[email protected]> > Cc: [email protected] > Subject: Re: [dpdk-users] Enable MLX5 driver v20.11 > > So here is how we link against shared libs: > > meson build-meson -D disable_drivers=net/mlx4 --default-library=shared > && ninja -C build-meson > and when you want to run an application like testpmd for example: > > > ./dpdk-testpmd -n 4 -a 0000:08:00.0 -d $PATH_TO_BUILD/build- > meson/drivers/librte_mempool_ring.so -d $PATH_TO_BUILD/build- > meson/drivers/librte_net_mlx5.so -d $PATH_TO_BUILD/build- > meson/drivers/librte_common_mlx5.so -d $PATH_TO_BUILD/build- > meson/drivers/librte_regex_mlx5.so -d $PATH_TO_BUILD/build- > meson/drivers/librte_vdpa_mlx5.so -- -i > > Let me know if it works for you > > Kindest regards, > Raslan Darawsheh > > From: Gerry Wan <[email protected]> > Sent: Monday, December 14, 2020 7:33 AM > To: Raslan Darawsheh <[email protected]> > Cc: [email protected] > Subject: Re: [dpdk-users] Enable MLX5 driver v20.11 > > I've found that linking with static libraries will fix this problem, but using > shared libraries continues to successfully build but at runtime will not find > any > ports despite having devices bound to DPDK compatible drivers. Perhaps I > am linking against library executables from the old DPDK version? If this is > likely the case, how can I fix this to work with shared libraries? > > On Sun, Dec 13, 2020 at 1:04 PM Gerry Wan > <[email protected]<mailto:[email protected]>> wrote: > OK, I was able to build it this way. > However, it seems that it still does not solve my problem where the > application detects no ports available. I am building it outside the > development kit using Make. It appears the same issue happens with the > provided sample applications. If I compile the "skeleton" sample application > with make, running it will error saying no ports available. If I compile it > using > meson (meson configure -Dexamples=skeleton) and then run it through > ./<build_dir>/examples/dpdk-skeleton it works fine. How can I compile the > applications outside of the development kit? The current documentation > says this should still be possible using make as before. > > On Sun, Dec 13, 2020 at 3:31 AM Raslan Darawsheh > <[email protected]<mailto:[email protected]>> wrote: > Starting OFED 5.1 it stopped the support for MLX4 pmd > And seems that you have some libmlx4 under your local lib dir, > In the meanwhile what you can do when doing ninja is to disable mxl4 > compilation: > > meson build -D disable_driver=net/mlx4; ninja -C build > > Kindest regards, > Raslan Darawsheh > > From: Gerry Wan <[email protected]<mailto:[email protected]>> > Sent: Sunday, December 13, 2020 1:25 PM > To: Raslan Darawsheh <[email protected]<mailto:[email protected]>> > Cc: [email protected]<mailto:[email protected]> > Subject: Re: [dpdk-users] Enable MLX5 driver v20.11 > > Thanks, > I updated my MLNX_OFED to 5.1-2.5.8.0, which was tested against for this > DPDK release. > To install, I ran ./mlnxofedinstall --dpdk --upstream-libs --with-mft --with- > kernel-mft > then /etc/init.d/openibd restart > Now, ninja install gives me ../drivers/net/mlx4/mlx4_glue.h:16:10: fatal > error: infiniband/mlx4dv.h: No such file or directory > > What other steps am I missing? > > On Sun, Dec 13, 2020 at 12:35 AM Raslan Darawsheh > <[email protected]<mailto:[email protected]>> wrote: > Hi Gerry, > > Starting V20.11 the build system was switched to use meson only, > And if you have necessary packages for MLX5 (a.k. rdma-core) it will be built > automatically. > > As for your question if you still don't need to bind mlx5 driver that's true, > its > still valid. > > Kindest regards, > Raslan Darawsheh > > > -----Original Message----- > > From: users <[email protected]<mailto:users- > [email protected]>> On Behalf Of Gerry Wan > > Sent: Sunday, December 13, 2020 1:22 AM > > To: [email protected]<mailto:[email protected]> > > Subject: [dpdk-users] Enable MLX5 driver v20.11 > > > > Hello, > > I am trying to update my DPDK version from 20.08 to 20.11. I am using the > > mlx5 driver, and previously to enable it I had to set > > CONFIG_RTE_LIBRTE_MLX5_PMD=y in config/common_base. In 20.11, I > see > > no > > option to do so. I was able to build my application (and the sample > > applications), but running rte_eth_dev_count_avail() returns 0 and cannot > > find any ports. > > > > The steps I did to build DPDK from source were: > > > > $ meson build > > > > $ cd build > > > > $ sudo ninja install > > > > $ sudo ldconfig > > > > > > Normally I would edit dpdk-20.xx/config/common_base before meson > build, > > but > > that file is gone. > > > > What are the steps I need to take to enable mlx5 driver? I also recall that > > I don't need to bind the mlx5 driver, is that still the case? > > > > Thanks
