
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像基于Photon OS 5.0构建,包含DPDK 23.11(含所有PMD及XDR等关联库)、pktgen-dpdk、DPDK testpmd、iperf3工具及完整开发工具链。与通用版本(spyroot/dpdk_generic_tester)相比,本镜像针对Intel第4/5代CPU进行优化,支持AVX指令集,适用于高性能网络场景。
查看网络设备绑定状态
bashdocker run -it --privileged --rm docker.xuanyuan.run/spyroot/dpdk_native_tester dpdk-devbind.py -s
运行pktgen流量生成
bashdocker run -it --privileged --rm docker.xuanyuan.run/spyroot/dpdk_native_tester pktgen --help
运行testpmd
bashdocker run -it --privileged --rm docker.xuanyuan.run/spyroot/dpdk_native_tester dpdk-testpmd
bashhpagesize=1024 mkdir -p /dev/hugepages mountpoint -q /dev/hugepages || mount -t hugetlbfs nodev /dev/hugepages echo $hpagesize > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
bash# 创建8个VF export default_adapter="eno1" modprobe iavf && for vf_id in {0..7}; do ip link set $default_adapter vf $vf_id trust on && ip link set $default_adapter vf $vf_id spoof off; done # 绑定VF到vfio-pci驱动 export vf_target_device="0000:03:02.0" docker run --privileged --name dpdk_tester --device="/sys/bus/pci/devices/*" \ -v /dev/hugepages:/dev/hugepages -v /dev:/dev \ --cap-add=SYS_RAWIO --cap-add=IPC_LOCK --cap-add=NET_ADMIN \ --rm -it docker.xuanyuan.run/spyroot/dpdk_native_tester dpdk-devbind.py -b vfio-pci $vf_target_device
yamlapiVersion: apps/v1 kind: Deployment metadata: name: dpdkpod labels: environment: dpdk_tester app: dpdkpod spec: replicas: 2 selector: matchLabels: environment: dpdk_tester app: dpdkpod template: metadata: labels: environment: dpdk_tester app: dpdkpod spec: containers: - name: dpdkpod command: ["/bin/bash", "-c", "sleep infinity"] image: docker.xuanyuan.run/spyroot/dpdk_native_tester imagePullPolicy: Always securityContext: capabilities: add: ["IPC_LOCK", "NET_ADMIN", "SYS_TIME", "CAP_NET_RAW", "CAP_BPF", "SYS_ADMIN"] privileged: true volumeMounts: - name: sys mountPath: /sys readOnly: true - name: modules mountPath: /lib/modules readOnly: true resources: requests: memory: 2Gi cpu: "2" intel.com/sriovdpdk: '1' limits: hugepages-1Gi: 2Gi cpu: "2" intel.com/sriovdpdk: '1' volumes: - name: sys hostPath: path: /sys - name: modules hostPath: path: /lib/modules nodeSelector: kubernetes.io/os: linux
使用pkg-config编译DPDK应用
bashPKGCONF = pkg-config CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS += $(shell $(PKGCONF) --libs libdpdk) $(APP): $(SRCS-y) Makefile $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS)
运行示例程序
bashdocker run -it --privileged --rm docker.xuanyuan.run/spyroot/dpdk_native_tester /bin/bash cd /usr/local/share/dpdk/examples/l2fwd make ./l2fwd
包含多种网络驱动(如i40e、iavf、ice、mlx5等)、加密驱动(如ipsec_mb、openssl等)及事件驱动(如cnxk、dlb2等),完整列表可通过镜像内dpdk-devbind.py -s查看。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务