From fe54b3eab2a587f16455c3239f46d32c364d1a64 Mon Sep 17 00:00:00 2001 From: GuangJie1 Date: Thu, 19 Jun 2025 20:14:33 +0800 Subject: [PATCH] add dpdk readme --- Others/dpdk/README.md | 68 +++++++++++++++++++++++++++++++ Others/dpdk/doc/image-info.yml | 65 +++++++++++++++++++++++++++++ Others/dpdk/doc/picture/logo.png | Bin 0 -> 58887 bytes 3 files changed, 133 insertions(+) create mode 100644 Others/dpdk/README.md create mode 100644 Others/dpdk/doc/image-info.yml create mode 100644 Others/dpdk/doc/picture/logo.png diff --git a/Others/dpdk/README.md b/Others/dpdk/README.md new file mode 100644 index 00000000..1c56a8e0 --- /dev/null +++ b/Others/dpdk/README.md @@ -0,0 +1,68 @@ +# Quick reference + +- The official Data Plane Development Kit (DPDK) docker image. + +- Maintained by: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative). + +- Where to get help: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative), [openEuler](https://gitee.com/openeuler/community). + +# Data Plane Development Kit (DPDK) | openEuler +Current DPDK docker images are built on the [openEuler](https://repo.openeuler.org/). This repository is free to use and exempted from per-user rate limits. + +Data Plane Development Kit (DPDK) is a Linux Foundation project that consists of libraries to accelerate packet +processing workloads running on a wide variety of CPU architectures. + +Learn more about DPDK on [DPDK Website](hhttps://core.dpdk.org/doc/)⁠. + +# Supported tags and respective Dockerfile links +The tag of each `dpdk` docker image is consist of the version of `dpdk` and the version of basic image. The details are as follows + +| Tag | Currently | Architectures | +|----------|-------------|------------------| +|[25.03-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Others/dpdk/25.03/24.03-lts-sp1/Dockerfile)| DPDK 25.03 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +# Usage +In this usage, users can select the corresponding `{Tag}` based on their requirements. + +- Pull the `openeuler/dpdk` image from docker + + ```bash + docker pull openeuler/dpdk:{Tag} + ``` + +- Temporary set up hugePages(resets after reboot) + + ``` + echo 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages + mkdir -p /dev/hugepages + mount -t hugetlbfs nodev /dev/hugepages + ``` + This will enable 64 hugepages of 2MB each and mount them to `/dev/hugepages`. + +- Running a DPDK Container with HugePages + ``` + docker run -it --rm \ + --cap-add=IPC_LOCK \ + --privileged \ + -v /dev/hugepages:/dev/hugepages \ + -v /sys/bus/pci:/sys/bus/pci \ + -v /sys/devices:/sys/devices \ + -v /sys/kernel/mm/hugepages:/sys/kernel/mm/hugepages \ + -v /lib/modules:/lib/modules \ + --network host \ + openeuler/dpdk:{Tag} bash + ``` + * `--privileged`: Grants access to device bindings (e.g., VFIO) and hugepages + * `--network host`: Enable DPDK to access the actual physical NIC on the host + +- Run DPDK sample application + Once inside the container: + ``` + cd /dpdk/examples/helloworld + make + ./build/helloworld -l 0 -n 2 + ``` + This compiles and runs the DPDK `helloworld` example, binding it to logical core 0 and using 2 memory channels. + +# Question and answering +If you have any questions or want to use some special features, please submit an issue or a pull request on [openeuler-docker-images](https://gitee.com/openeuler/openeuler-docker-images). \ No newline at end of file diff --git a/Others/dpdk/doc/image-info.yml b/Others/dpdk/doc/image-info.yml new file mode 100644 index 00000000..2a2b16ff --- /dev/null +++ b/Others/dpdk/doc/image-info.yml @@ -0,0 +1,65 @@ +name: dpdk +category: others +description: DPDK(Data Plane Development Kit)是一个由Intel发起、广泛用于数据包处理的高性能软件开发框架,专为用户态高速网络包处理场景设计。 +environment: | + 本应用在Docker环境中运行,安装Docker执行如下命令 + ``` + yum install -y docker + ``` +tags: | + dpdk镜像的Tag由其版本信息和基础镜像版本信息组成,详细内容如下 + + | Tag | Currently | Architectures | + |----------|-------------|------------------| + |[25.03-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Others/dpdk/25.03/24.03-lts-sp1/Dockerfile)| DPDK 25.03 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +download: | + 拉取镜像到本地 + ``` + docker pull openeuler/dpdk:{Tag} + ``` + +usage: | + - 临时设置hugePages(重启后失效) + ``` + echo 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages + mkdir -p /dev/hugepages + mount -t hugetlbfs nodev /dev/hugepages + ``` + 这将启用64个2MB的HugePages,并将其挂载到 `/dev/hugepages`. + + - 运行DPDK容器 + ``` + docker run -it --rm \ + --cap-add=IPC_LOCK \ + --privileged \ + -v /dev/hugepages:/dev/hugepages \ + -v /sys/bus/pci:/sys/bus/pci \ + -v /sys/devices:/sys/devices \ + -v /sys/kernel/mm/hugepages:/sys/kernel/mm/hugepages \ + -v /lib/modules:/lib/modules \ + --network host \ + openeuler/dpdk:{Tag} bash + ``` + * `--privileged`: 授予访问设备绑定(如 VFIO和HugePages的权限 + * `--network host`: 允许DPDK访问宿主机上的实际物理网卡 + + - 运行示例程序helloworld + Once inside the container: + ``` + cd /dpdk/examples/helloworld + make + ./build/helloworld -l 0 -n 2 + ``` + 该命令会编译并运行DPDK的`helloworld`示例程序,绑定到逻辑核心0,并使用2个内存通道。 + + +license: BSD-3-Clause +similar_packages: + - netmap: 高性能的网络I/O框架,旨在简化内核与用户空间之间的网络包传输,并提供接近线速(line-rate)的网络性能。 +dependency: + - numactl-devel + - pcre + - libelf/elfutils + - libbsd + - libpcap \ No newline at end of file diff --git a/Others/dpdk/doc/picture/logo.png b/Others/dpdk/doc/picture/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4d1b4930b5a9cedced5d6b5fa13d2a2c2a84f236 GIT binary patch literal 58887 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 literal 0 HcmV?d00001 -- Gitee