当前位置:网站首页>VPP性能测试

VPP性能测试

2022-07-06 04:10:00 redwingz

环境:

# 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,115200n8 isolcpus=1-3 rcu_nocbs=1-3 nohz_full=1-3 hugepagesz=1GB hugepages=4 default_hugepagesz=1GB maybe-ubiquity

结果
RFC2544测试,64字节报文,双向大约能达到线速的75%。

网卡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 (0xa80001000 != 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.

测试结果
RFC2544测试,64字节报文,双向大约能达到线速的65%。

原网站

版权声明
本文为[redwingz]所创,转载请带上原文链接,感谢
https://redwingz.blog.csdn.net/article/details/125590348