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

Sarosh Arif sarosh.arif at emumba.com
Tue Aug 18 14:39:19 CEST 2020


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.


More information about the dev mailing list