vpp+dpdk安装

1.下载vpp源码

git clone https://gerrit.fd.io/r/vpp
git clone -b stable/2005 https://github.com/FDio/vpp.git 下载已经发布的版本

2.编译vpp

[1]make install-dep 下载vpp编译所需要的库
遇到的问题(1)
vpp+dpdk安装_第1张图片
原因:版本冲突
解决办法:强制无支持卸载安装包
例:rpm -e --nodeps python36u-libs-3.6.7-1.ius.centos7.x86_64
把版本冲突的安装包全部卸载完,然后重新make install-dep
遇到的问题(2)
vpp+dpdk安装_第2张图片
原因:为base-debuginfo获取存储库数据时出错,没有找到存储库
解决办法:与yum源有关 通过对比编译通过的虚拟机中的/etc/yum.repos.d/目录下的文件下的*.repo文件,在该目录下创建CentOS-Debuginfo.repo文件,并将CentOS-Debuginfo.repo文件中的内容全部复制过去
vpp+dpdk安装_第3张图片
[2]make build

3.dpdk绑定接口

[1]加载绑定网卡的igb_uio.ko驱动
(1)进入vpp/build-root/build-vpp_debug-native/external/dpdk-20.02目录下
打开common_base文件,修改文件中的内容
vpp+dpdk安装_第4张图片
(2)进入vpp/build/external/packages目录下
修改dpdk.mk文件(编vpp时编dpdk)
vpp+dpdk安装_第5张图片
(3)进入vpp/build-root/build-vpp_debug-native/external/dpdk-20.02/x86_64-native-linuxapp-gcc/kmod目录下,查看是否有igb_uio.ko文件
modprobe uio
insmod igb_uio.ko 加载igb_uio.ko驱动
[2]绑定接口
在vpp/build-root/build-vpp_debug-native/external/dpdk-20.02/usertools目录下执行脚本dpdk-devbind.py
vpp+dpdk安装_第6张图片
./dpdk-devbind.py --status 查看接口状态
vpp+dpdk安装_第7张图片
./dpdk-devbind.py --bind=igb_uio.ko 接口名称
在这里插入图片描述

4.修改配置文件

在修改配置文件前要查看cpu的核数
lscpu
vpp+dpdk安装_第8张图片
vim build-root/install-vpp_debug-native/vpp/etc/vpp/startup.conf(cpu核足够的情况下,如下配置)

unix {
     
#  nodaemon
  log /var/log/vpp/vpp.log
  full-coredump
  cli-listen 0.0.0.0:5002
#  gid vpp
}

cpu {
     
    main-core 1
    workers 2
}

dpdk{
     
    dev default{
     
        num-rx-queues 3
        num-tx-queues 3
        num-rx-desc 512
        num-tx-desc 512
        vlan-strip-offload on
    }
    dev 0000:04:00.0
    dev 0000:05:00.0
    uio-driver vfio-pci
    socket-mem 2048,2048
    no-tx-checksum-offload
}

若cpu只有一个核,配置文件如下:

unix {
     
#  nodaemon
  log /var/log/vpp/vpp.log
  full-coredump
  cli-listen 0.0.0.0:5002
#  gid vpp
}
dpdk{
     
    dev default{
     
        num-rx-queues 1
        num-tx-queues 1
        num-rx-desc 512
        num-tx-desc 512
        vlan-strip-offload on
    }
    dev 0000:04:00.0
    dev 0000:05:00.0
    uio-driver vfio-pci
    socket-mem 2048,2048
    no-tx-checksum-offload
}

5.启动vpp

[1]配置大页
cat /proc/meminfo 查看是否配置大页
vpp+dpdk安装_第9张图片
echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages 配置2G大页
[2]执行
在vpp/build-root/install-vpp_debug-native/vpp/bin目录下执行
./vpp -c …/etc/vpp/startup.conf
ps -aux | grep vpp 查看
在这里插入图片描述
telnet 0 5002进入vpp
vpp+dpdk安装_第10张图片
show int 查看接口是否绑定成功
在这里插入图片描述
[3]执行遇到的问题
报错:api_segment_config : group vpp does not exist
修改startup.conf配置文件
vpp+dpdk安装_第11张图片
报错:unix_config:468: couldn’t open log ‘/var/log/vpp/vpp.log’
创建/var/log/vpp这个目录
报错:api_segment_config: group vpp does not exist
vpp+dpdk安装_第12张图片

你可能感兴趣的:(vpp)