VPP性能测试

VPP性能测试环境 处理器安装 VPPVPP 版本 VPP 线程网卡 Intel82599 UIO 驱动启动参数配置 需要配置到 grub 中 重启生效 结果 RFC2544 测试 64 字节报文 双向大约能达到线速的 75 开始 VPP 没有加载上 X710 网卡 将 UIO 驱动替换为 igb uio 安装 igb uio 内核驱动模块 如下安装位置 将 X710 网卡 Firmware 更新 测试结果 RFC2544 测试 64 字节报文 双向大约能达到线速的 65

环境:

# cat /etc/issue Ubuntu 18.04.5 LTS \n \l # # uname -a Linux localhost 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux 

处理器

vpp# show cpu Model name: Intel(R) Xeon(R) CPU E3-1225 v3 @ 3.20GHz Microarch model (family): [0x6] Haswell ([0x3c] Haswell) stepping 0x3 Flags: sse3 pclmulqdq ssse3 sse41 sse42 avx rdrand avx2 aes invariant_tsc Base frequency: 3.19 GHz 

安装VPP

# curl -s https://packagecloud.io/install/repositories/fdio/release/script.deb.sh | sudo bash # apt-get install vpp vpp-plugin-core vpp-plugin-dpdk 

VPP版本

vpp# show version vpp v21.10.1-release built by root on 4f6ead0c141f at 2021-11-17T14:25:30 

VPP线程

vpp# show threads ID Name Type LWP Sched Policy (Priority) lcore Core Socket State 0 vpp_main 1178 other (0) 0 0 0 1 vpp_wk_0 workers 1664 other (0) 1 1 0 2 vpp_wk_1 workers 1665 other (0) 2 2 0 3 vpp_wk_2 workers 1666 other (0) 3 3 0 

网卡

Intel 82599。

vpp# set interface state TenGigabitEthernet3/0/0 up vpp# set interface state TenGigabitEthernet3/0/1 up vpp# vpp# set interface ip address TenGigabitEthernet3/0/0 11.1.1.1/16 vpp# set interface ip address TenGigabitEthernet3/0/1 12.1.1.1/16 

UIO驱动

uio_pci_generic 

启动参数配置,需要配置到grub中,重启生效。

# cat /proc/cmdline BOOT_IMAGE=/vmlinuz-4.15.0-112-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv ro console=tty0 console=ttyS0,n8 isolcpus=1-3 rcu_nocbs=1-3 nohz_full=1-3 hugepagesz=1GB hugepages=4 default_hugepagesz=1GB maybe-ubiquity 

网卡X710

开始VPP没有加载上X710网卡。

# vppctl vpp# vpp# show logging 2022/06/30 07:17:59:833 notice dpdk EAL: Detected 4 lcore(s) 2022/06/30 07:17:59:833 notice dpdk EAL: Detected 1 NUMA nodes 2022/06/30 07:17:59:833 notice dpdk EAL: Detected static linkage of DPDK 2022/06/30 07:17:59:833 notice dpdk EAL: Selected IOVA mode 'PA' 2022/06/30 07:17:59:833 notice dpdk EAL: WARNING! Base virtual address hint (0xa != 0x7f32c0000000) not respected! 2022/06/30 07:17:59:833 notice dpdk EAL: This may cause issues with mapping memory into secondary processes 2022/06/30 07:17:59:833 notice dpdk EAL: Probe PCI driver: net_e1000_igb (8086:1533) device: 0000:02:00.0 (socket 0) 2022/06/30 07:17:59:833 notice dpdk EAL: Probe PCI driver: net_e1000_igb (8086:1533) device: 0000:03:00.0 (socket 0) 2022/06/30 07:17:59:833 notice dpdk EAL: Probe PCI driver: net_e1000_igb (8086:1533) device: 0000:04:00.0 (socket 0) 2022/06/30 07:17:59:833 notice dpdk EAL: Probe PCI driver: net_e1000_igb (8086:1533) device: 0000:05:00.0 (socket 0) 2022/06/30 07:17:59:833 notice dpdk EAL: Probe PCI driver: net_e1000_igb (8086:1533) device: 0000:06:00.0 (socket 0) 2022/06/30 07:17:59:833 notice dpdk EAL: Probe PCI driver: net_e1000_igb (8086:1533) device: 0000:07:00.0 (socket 0) 2022/06/30 07:17:59:833 notice dpdk EAL: Probe PCI driver: net_e1000_igb (8086:1533) device: 0000:08:00.0 (socket 0) 2022/06/30 07:17:59:833 notice dpdk EAL: Probe PCI driver: net_e1000_igb (8086:1533) device: 0000:09:00.0 (socket 0) 2022/06/30 07:17:59:833 notice dpdk EAL: VFIO support not initialized 2022/06/30 07:17:59:833 notice dpdk EAL: Couldn't map new region for DMA 

将UIO驱动替换为igb_uio。

# cat vpp.service
[Unit]
Description=vector packet processing engine
After=network.target

[Service]
Type=simple
ExecStartPre=-/sbin/modprobe igb_uio
ExecStart=/usr/bin/vpp -c /etc/vpp/startup.conf
ExecStopPost=/bin/rm -f /dev/shm/db /dev/shm/global_vm /dev/shm/vpe-api
Restart=always
# Uncomment the following line to enable VPP coredumps on crash
# You still need to configure the rest of the system to collect them, see
# https://fdio-vpp.readthedocs.io/en/latest/troubleshooting/reportingissues/reportingissues.html#core-files
# for details
#LimitCORE=infinity

[Install]
WantedBy=multi-user.target

安装igb_uio内核驱动模块。

# apt-get install -y dpdk-igb-uio-dkms ... Setting up librte-pmd-octeontx-ssovf17.11:amd64 (17.11.10-0ubuntu0.1) ... Setting up libdpdk-dev:amd64 (17.11.10-0ubuntu0.1) ... Setting up dpdk-dev (17.11.10-0ubuntu0.1) ... Setting up dpdk-igb-uio-dkms (17.11.10-0ubuntu0.1) ... Loading new dpdk-igb-uio-17.11.10 DKMS files... Building for 4.15.0-112-generic Building initial module for 4.15.0-112-generic Done. igb_uio: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.15.0-112-generic/updates/dkms/ depmod........ DKMS: install completed. Processing triggers for man-db (2.8.3-2ubuntu0.1) ... Processing triggers for libc-bin (2.27-3ubuntu1.2) ... 

如下安装位置。

# find /lib/modules/ -name "igb_uio*" /lib/modules/4.15.0-112-generic/updates/dkms/igb_uio.ko 

将X710网卡Firmware更新。

# tar -xf 700Series_NVMUpdatePackage_v8_70_Linux.tar.gz # # cd 700Series/Linux_x64/ # # ./nvmupdate64e Intel(R) Ethernet NVM Update Tool NVMUpdate version 1.38.13.1 Copyright(C) 2013 - 2022 Intel Corporation. WARNING: To avoid damage to your device, do not stop the update or reboot or power off the system during this update. Inventory in progress. Please wait Num Description Ver.(hex) DevId S:B Status === ================================== ============ ===== ====== ============== 01) Intel(R) Ethernet Converged 8.64(8.40) 1572 00:001 Update Network Adapter X710 available Options: Adapter Index List (comma-separated), [A]ll, e[X]it Enter selection: 1 Would you like to back up the NVM images? [Y]es/[N]o: n Update in progress. This operation may take several minutes. [....|*] Num Description Ver.(hex) DevId S:B Status === ================================== ============ ===== ====== ============== 01) Intel(R) Ethernet Converged 8.112(8.70) 1572 00:001 Update Network Adapter X710 successful Reboot is required to complete the update process. Tool execution completed with the following status: All operations completed successfully. Press any key to exit. 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214048.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午5:06
下一篇 2026年3月18日 下午5:06


相关推荐

  • 反编译Java_java反编译的代码可以修改么

    反编译Java_java反编译的代码可以修改么1.反编译是java开发者必不可少的东西,今天我们jd-gui-0.3.6.exe这个工具来反编译class文件。下面是下载地址:http://localhost2.工具使用起来很简单,双击打开–>File—>OpenFile选择你要反编译的class。下面我们来看下几个反编译后的神奇例子://————-实例1————//反编译前publiccl

    2025年6月6日
    4
  • 成为一名CV(计算机视觉)工程师,你需要具备哪些能力?[通俗易懂]

    成为一名CV(计算机视觉)工程师,你需要具备哪些能力?[通俗易懂]2019年国家对人工智能加大了支持力度,媒体对人工智能的资讯报道也越来越多,刚刚结束的人工智能大会也展示了国内现在的人工智能的发展状况,“双马”对话中也处处透露出对人工智能的美好展望。人工智能一个很大的应用方向是CV(计算机视觉)。CV在如制造业、检验、文档分析、医疗诊断和军事等领域中各种智能系统中不可分割。具体的像无人驾驶、人脸识别、VR/AR等,未来在医疗领域等还将有更大的发展。那么成为一名计算机视觉工程师应该具备哪些能力呢?首先数学要学好。大学里开过的高数、线性代数、概率统计等课都十分

    2022年4月20日
    89
  • 腾讯元宝怎么导入excel

    腾讯元宝怎么导入excel

    2026年3月13日
    2
  • Flutter for OpenHarmony:Flutter 三方库 dart_openai — 激发鸿蒙应用的 AIGC (AI 大模型/ChatGPT、Deepseek等) 无限创意(适配鸿蒙

    Flutter for OpenHarmony:Flutter 三方库 dart_openai — 激发鸿蒙应用的 AIGC (AI 大模型/ChatGPT、Deepseek等) 无限创意(适配鸿蒙

    2026年3月15日
    2
  • opencv识别多条形码数字_opencv测试代码

    opencv识别多条形码数字_opencv测试代码这其实是一个小工程完成的功能: 使用摄像头采集图像进行预处理(检测部分) 提取出预处理的条形码图像(识别部分) 将条形码进行存入数据库(存储部分) 首先接到这个图像识别的小工程需要先确定这个工程的最初输入,和最后输出,输入就是普通的RGB图像,输出是数据库文件。其中需要完成的过程,就是我需要做得功能,检测部分、识别部分和存储部分,话不多说,上部分代码:/…

    2025年6月27日
    7
  • Python安装:手动添加Python环境变量

    Python安装:手动添加Python环境变量问题描述 安装 Python 完成之后 在 cmd 命令提示符窗口 敲入 python 后 没有安装信息并出现报错信息如下 问题原因 因为 Windows 会根据一个 Path 的环境变量设定的路径去查找 python exe 如果没找到 就会报错 如果在安装时漏掉了勾选 AddPython3 7toPATH 那就要手动把 python exe 所在的路径添加到 Path 中 解决方法 1 先看一下 Pytho

    2026年3月19日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号