Skip to content

Latest commit

 

History

History
54 lines (36 loc) · 1.96 KB

README.md

File metadata and controls

54 lines (36 loc) · 1.96 KB

Data Plane Development Kit (DPDK) integration into OpenWrt

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.

Repository packages

  • dpdk - Data Plane Development Kit main package; package contains:
    • libdpdk - DPDK librarioes
    • dpdk-tools - DPDK tools
  • kmod-iommu_v2 (this pkg required for 21.02, 22.03) - kernel-modules support of IOMMU for INTEL/AMD processors; package produces iommu_v2.ko
  • kmod-vfio (this pkg required for 21.02, 22.03) - kernel-modules support of Virtual Function I/O for PCI interfaces; package produces - vfio.ko, vfio-pci.ko, vfio_iommu_type1.ko, vfio_virqfd.ko
  • numactl (required) - Simple NUMA policy support package

OpenWrt 23 and newer has kmod-iommu_v2 and kmod-vfio directly in menuconfig.

Compilation & Installation

Requirements

  • Compilation can be done on OpenWrt 21.02, 22.03 and 23.05.

OpenWrt build configuration

Make a system from sources. Use branches 21.02, 22.03 or 23.05.

Add this repo to OpenWrt feed.conf

echo "src-git dpdk_repo https://github.com/k13132/openwrt-dpdk" >> feeds.conf

Update OpenWrt package feeds

./scripts/feeds update dpdk_repo
./scripts/feeds install -a -p dpdk_repo

Use/select libdpdk, dpdk-tools packages

make menuconfig

Compile DPDK packages

make package/dpdk/compile -j$((`nproc`+1))