[dpdk-dev] [RFC] usertools: Replace dpdk-setup with a python curses based script

Thomas Monjalon thomas at monjalon.net
Tue Sep 1 15:30:50 CEST 2020


18/08/2020 19:09, Stephen Hemminger:
> On Tue, 18 Aug 2020 17:39:19 +0500
> Sarosh Arif <sarosh.arif at emumba.com> wrote:
> 
> > dpdk-setup has been used for a long time in order to compile and
> > configure dpdk along with running some basic applications. dpdk-setup
> > uses the make build system to compile which is now deprecated. In addition
> > to this it has been discussed on the mailing list a few times that
> > dpdk-setup UI is quite old and it needs improvement along with
> > addition of some other facilities. This had created a need for python
> > curses based script that would provide similar functionality as
> > dpdk-setup but with more options and better UI. The idea is almost similar
> > to kernel's make menuconfig. The reason to select python curses is that it
> > comes as a standard library with python. The script will use the meson build
> > system for compilation.
> > 
> > Here is a link containing suggested UI:
> > https://drive.google.com/file/d/18ngGpO_e-8FYNKjkKqS1IKQSrDDcXSO6/view?usp=sharing
> > 
> > The following options will be present in the Menu and Sub-Menu:
> > 
> > Compile
> >     Compile with gcc
> >     Compile with icc
> >     Compile with clang
> >     Compile examples
> > Cross compile
> >     arm64_armada_linux_gcc
> >     arm64_armv8_linux_gcc
> >     arm64_bluefield_linux_gcc
> >     arm64_dpaa_linux_gcc
> >     arm64_emag_linux_gcc
> >     arm64_n1sdp_linux_gcc
> >     arm64_octeontx2_linux_gcc
> >     arm64_stingray_linux_gcc
> >     arm64_thunderx2_linux_gcc
> >     Arm64_thunderx_linux_gcc
> >     Ppc64le-power8-linux-gcc
> >     cross-mingw
> > Hugepages
> >     Setup hugepage for non-NUMA
> >     Setup hugepages for NUMA
> >     Remove hugepage mappings
> > Insert module
> >     Setup VFIO permissions
> >     VFIO
> >     KNI
> >     IBG UIO
> > Remove module
> >     VFIO
> >     KNI
> >     IBG UIO
> > Bind and Unbind devices
> >     Bind device to IGB UIO
> >     Bind device to VFIO
> >     Unbind devices from IGB UIO or VFIO driver
> > Display
> >     Hugepages info
> >     Current device settings
> > Run Applications
> >     Test application → prompt user to enter flags and possibly build
> > directory name. Also give a default options for flags
> >     Testpmd application → prompt user to enter flags and possibly
> > build directory name. Also give a default options for flags
> > 
> > In addition to this, the user will have the facility to provide any
> > additional flags for compilation if he/she wishes to.
> 
> I would prefer a set of scripts that each do one thing.
> Having a GUI is a lot of overhead to support.

Me too, I prefer simple scripts.
And I prefer even more documenting simple tasks.

We can extract the lines for hugepages settings in a standalone script.
Perhaps doing the same for VFIO setup.
Not sure about the rest.





More information about the dev mailing list