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