环境:
# 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
