[dpdk-dev] [PATCH] net/vdev_netvsc: print warning if Mellanox devices are not configured

Thomas Monjalon thomas at monjalon.net
Mon May 27 10:31:22 CEST 2019


25/05/2019 00:06, Stephen Hemminger:
> On Fri, 24 May 2019 19:32:14 +0200
> Thomas Monjalon <thomas at monjalon.net> wrote:
> > 24/05/2019 19:11, Stephen Hemminger:
> > > On Fri, 24 May 2019 19:05:20 +0200
> > > Thomas Monjalon <thomas at monjalon.net> wrote:
> > >   
> > > > > > > device drivers on Hyper-V/Azure.  If the build system supported dependencies
> > > > > > > (like Linux kbuild) this would not be necessary. Meson only does dynamic dependencies
> > > > > > > so that doesn't help.
> > > > > > > 
> > > > > > > This is a warning and not fatal only because application will still at
> > > > > > > least run, and somebody may want to run with SR-IOV with Intel NIC's on Hyper-V.
> > > > > > > 
> > > > > > > 
> > > > > > > The warning is just to give users better immediate feedback rather than
> > > > > > > trying to diagnose poor performance or mystery device not found messages.      
> > > > > > 
> > > > > > 
> > > > > > It really looks strange to me.
> > > > > > What you need is to fail at compilation if requested PMD is not built.
> > > > > > I would advise to work on a script to configure meson.    
> > > > > 
> > > > > None of the people that ran into this were using meson build.
> > > > > For example, VPP doesn't use meson.    
> > > > 
> > > > They will use meson when makefile will be removed :)
> > > > 
> > > > Anyway, no matter the build system, what we want is a way
> > > > to guide users to a proper DPDK installation.
> > > > Your solution is to add some very specific logs.
> > > > My proposal is to guide the user with a script and some
> > > > specific parameters so it will fail if a required dependency is not met.  
> > > 
> > > Not familiar enough with meson magic syntax to make vdev_netvsc not build
> > > without MLX. But that would just be pushing the mystery failure further
> > > down the road.  
> > 
> > I think you did not understand my proposal.
> > Let's take an example. You give this instruction to build DPDK:
> > 	buildtools/build-require.sh vdev_netvsc mlx4
> 
> There is no build-require.sh now and introducing yet another tool
> is not going to help.

I disagree.
I think we are missing this tool.

> > If mlx4 is not built then it will fail with this message:
> > 	librte_pmd_mlx4 failed to build
> > So the user knows what went wrong. No mystery.
> > 
> > 
> > > Another alternative would be to drop vdev_netvsc from the default Linux
> > > build. That way users would have to enable it manually.
> > > 
> > > My preferred solution would be to just kill vdev_netvsc and go to only netvsc PMD
> > > but that is a couple releases away.  
> 
> Let's just fix the meson.build for now to skip vdev_netvsc unless both mlx4 and mlx5 are present.

This is not a fix but a hack.
Why vdev_netvsc would need mlx PMDs? Because it is the Azure config?

> The Makefile can just remain untouched.
> The people with problem are on older releases anyway. So any attempt to fix
> the Makefiles won't help those on 18.02, etc.





More information about the dev mailing list