mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-01 21:23:51 -09:00
Add BR2_PACKAGE_DPDK_APPS_LIST to control which DPDK applications are built: - empty : use DPDK defaults - none : disable all apps (-Ddisable_apps='*') - list : pass to -Denable_apps= (comma-separated) Signed-off-by: Maxime Leroy <maxime@leroys.fr> Signed-off-by: Julien Olivain <ju.o@free.fr>
118 lines
3.8 KiB
Plaintext
118 lines
3.8 KiB
Plaintext
config BR2_PACKAGE_DPDK_ARCH_SUPPORTS
|
|
bool
|
|
# DPDK can be used for the following little endian architecture
|
|
default y if BR2_aarch64
|
|
# DPDK requires SSE4.2 for x86_64 since v17.08
|
|
default y if BR2_x86_64 && BR2_X86_CPU_HAS_SSE42
|
|
|
|
config BR2_PACKAGE_DPDK
|
|
bool "dpdk"
|
|
depends on BR2_PACKAGE_DPDK_ARCH_SUPPORTS
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS # DPDK design
|
|
depends on BR2_USE_MMU # pthread() memory mappings
|
|
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C11/stdatomic.h
|
|
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19
|
|
depends on BR2_TOOLCHAIN_USES_GLIBC
|
|
select BR2_PACKAGE_HOST_PYTHON3 # host-python-pyelftools
|
|
help
|
|
DPDK (Data Plane Development Kit) is a set of libraries
|
|
and drivers for fast packet processing.
|
|
|
|
http://dpdk.org/
|
|
|
|
Optional but recommended kernel configurations:
|
|
- CONFIG_VFIO_IOMMU_TYPE1
|
|
- CONFIG_VFIO_VIRQFD
|
|
- CONFIG_VFIO
|
|
- CONFIG_VFIO_NOIOMMU
|
|
- CONFIG_VFIO_PCI
|
|
- CONFIG_VFIO_PCI_MMAP
|
|
- CONFIG_HUGETLBFS
|
|
- CONFIG_HUGETLB_PAGE
|
|
- CONFIG_PROC_PAGE_MONITOR
|
|
|
|
For x86 only, the following can also be useful:
|
|
- CONFIG_HPET
|
|
- CONFIG_HPET_MMAP
|
|
|
|
if BR2_PACKAGE_DPDK
|
|
|
|
config BR2_PACKAGE_DPDK_EXAMPLES
|
|
bool "Install examples"
|
|
|
|
config BR2_PACKAGE_DPDK_TESTS
|
|
bool "Install tests"
|
|
|
|
config BR2_PACKAGE_DPDK_DRIVERS_LIST
|
|
string "List of enabled drivers"
|
|
help
|
|
Controls which DPDK drivers are built.
|
|
|
|
Values:
|
|
(empty): use DPDK defaults
|
|
none : build no drivers
|
|
list : e.g. "net/virtio,net/intel/ixgbe"
|
|
|
|
To list possible drivers found in the DPDK source tree:
|
|
find drivers -mindepth 2 -maxdepth 3 -type d \
|
|
! -printf '%P\n' | sort
|
|
|
|
Note: providing manually a list of dpdk drivers to enable
|
|
does not automatically enable its dependencies (internal or
|
|
external). It is the user responsiblity to add internal dpdk
|
|
dependencies in this list, and/or select the relevant
|
|
Buildroot packages for external dependencies. DPDK
|
|
configuration will fail in case of missing dependencies.
|
|
|
|
config BR2_PACKAGE_DPDK_LIBS_LIST
|
|
string "List of enabled libraries"
|
|
help
|
|
Controls which DPDK libraries are built.
|
|
|
|
Values:
|
|
(empty): use DPDK defaults
|
|
none : build no libraries
|
|
list : e.g. "hash,fib,rib"
|
|
|
|
To list all libraries found in the DPDK source tree:
|
|
find lib -mindepth 2 -maxdepth 2 -type f -name meson.build \
|
|
-printf '%h\n' | xargs -n1 basename | sort -u
|
|
|
|
Note: providing manually a list of dpdk libraries to enable
|
|
does not automatically enable its dependencies (internal or
|
|
external). It is the user responsiblity to add internal dpdk
|
|
dependencies in this list, and/or select the relevant
|
|
Buildroot packages for external dependencies. DPDK
|
|
configuration will fail in case of missing dependencies.
|
|
|
|
config BR2_PACKAGE_DPDK_APPS_LIST
|
|
string "List of enabled applications"
|
|
help
|
|
Controls which DPDK applications are built.
|
|
|
|
Values:
|
|
(empty): use DPDK defaults
|
|
none : build no apps
|
|
list : e.g. "test-cmdline,test-pmd"
|
|
|
|
To list all applications found in the DPDK source tree:
|
|
find app -mindepth 2 -maxdepth 2 -type f -name meson.build \
|
|
-printf '%h\n' | xargs -n1 basename | sort -u
|
|
|
|
Note: providing manually a list of dpdk libraries to enable
|
|
does not automatically enable its dependencies (internal or
|
|
external). It is the user responsiblity to add internal dpdk
|
|
dependencies in this list, and/or select the relevant
|
|
Buildroot packages for external dependencies. DPDK
|
|
configuration will fail in case of missing dependencies.
|
|
|
|
endif
|
|
|
|
comment "dpdk needs a glibc toolchain w/ threads, gcc >= 4.9, headers >= 4.19"
|
|
depends on BR2_USE_MMU # pthread() memory mappings
|
|
depends on BR2_PACKAGE_DPDK_ARCH_SUPPORTS
|
|
depends on !BR2_TOOLCHAIN_HAS_THREADS || \
|
|
!BR2_TOOLCHAIN_USES_GLIBC || \
|
|
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
|
|
!BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19
|