This repository contains all necessary packages for the compilation of DPDK on OpenWrt. CPU architectures x86_64 and aarch64 are supported.
Packages are assembled by information from https://doc.dpdk.org/guides/howto/openwrt.html.
- dpdk - Data Plane Development Kit main package; package contains:
- libdpdk - DPDK librarioes
- dpdk-tools - DPDK tools
- numactl (required) - Simple NUMA policy support package
OpenWrt 23 and newer has packages kmod-iommu_v2 (kernel-modules support of IOMMU for INTEL/AMD processors) and kmod-vfio (kernel-modules support of Virtual Function I/O for PCI interfaces) directly in menuconfig.
- Compilation can be done on OpenWrt 23.05 and newer.
Make a system from sources. Use branches 23.05 or newer.
echo "src-git dpdk_repo https://github.com/k13132/openwrt-dpdk;openwrt_23+" >> feeds.conf
./scripts/feeds update dpdk_repo
./scripts/feeds install -a -p dpdk_repo
- Select platform for AARCH64 - https://doc.dpdk.org/guides/linux_gsg/cross_build_dpdk_for_arm64.html#supported-soc-configuration
- Select cpu_instruction_set for x86_64 - https://doc.dpdk.org/guides/linux_gsg/build_dpdk.html
- Select network drivers - https://doc.dpdk.org/guides/nics/overview.html
make menuconfig
make package/dpdk/compile -j$((`nproc`+1))