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

Stephen Hemminger stephen at networkplumber.org
Tue Aug 18 19:09:59 CEST 2020


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.


More information about the dev mailing list