Sign inSign up

openeuler/dpdk

Sponsored OSS

By openeuler

Updated 2 months ago

Image
0

5.2K

openeuler/dpdk repository overview

Quick reference

Data Plane Development Kit (DPDK) | openEuler

Current DPDK docker images are built on the openEuler. 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⁠.

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

TagCurrentlyArchitectures
25.07-oe2403sp4dpdk 25.07 on openEuler 24.03-LTS-SP4amd64, arm64
25.07-oe2403sp2dpdk 25.07 on openEuler 24.03-LTS-SP2amd64, arm64
25.07-oe2403sp1dpdk 25.07 on openEuler 24.03-LTS-SP1amd64, arm64
25.03-oe2403sp1DPDK 25.03 on openEuler 24.03-LTS-SP1amd64, arm64

Usage

In this usage, users can select the corresponding {Tag} based on their requirements.

  • Pull the openeuler/dpdk image from docker

    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.

Tag summary

Content type

Image

Digest

sha256:444880754

Size

721.5 MB

Last updated

2 months ago

docker pull openeuler/dpdk

This week's pulls

Pulls:

14

Last week