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

3.dpdk绑定接口

[1]加载绑定网卡的igb_uio.ko驱动
(1)进入vpp/build-root/build-vpp_debug-native/external/dpdk-20.02目录下
打开common_base文件,修改文件中的内容
在这里插入图片描述
(2)进入vpp/build/external/packages目录下
修改dpdk.mk文件(编vpp时编dpdk)
在这里插入图片描述
(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
在这里插入图片描述
./dpdk-devbind.py --status 查看接口状态
在这里插入图片描述
./dpdk-devbind.py --bind=igb_uio.ko 接口名称
在这里插入图片描述

4.修改配置文件

在修改配置文件前要查看cpu的核数
lscpu
在这里插入图片描述
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 查看是否配置大页
在这里插入图片描述
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
在这里插入图片描述
show int 查看接口是否绑定成功
在这里插入图片描述
[3]执行遇到的问题
报错:api_segment_config : group vpp does not exist
修改startup.conf配置文件
在这里插入图片描述
报错:unix_config:468: couldn’t open log ‘/var/log/vpp/vpp.log’
创建/var/log/vpp这个目录
报错:api_segment_config: group vpp does not exist
在这里插入图片描述

要配置FD.io VPPDPDK,您可以按照以下步骤进行操作: 1. 安装DPDK:首先,确保您的系统符合DPDK的要求,并按照DPDK官方文档中的说明进行安装。您可以从DPDK官方网站上下载DPDK的源代码,并按照提供的说明进行编译和安装。 2. 配置DPDK环境变量:设置DPDK环境变量,包括`RTE_SDK`和`RTE_TARGET`。`RTE_SDK`指向DPDK源代码目录的路径,`RTE_TARGET`指定您要构建的目标平台。例如,在bash shell中,您可以使用以下命令设置环境变量: ``` export RTE_SDK=/path/to/dpdk export RTE_TARGET=<target> ``` 3. 配置VPP安装FD.io VPP并启动VPP进程。您可以从FD.io VPP官方网站上获取安装说明,并根据指南进行安装。在启动VPP之前,确保您已正确配置了DPDK。 4. 配置VPPDPDK集成:编辑VPP的运行时配置文件,通常是位于`/etc/vpp/startup.conf`。将DPDK驱动程序与VPP绑定,指定所需的物理接口和CPU核心。 例如,要将DPDK绑定到VPP并配置两个物理接口(例如eth0和eth1),可以在配置文件中添加以下内容: ``` dpdk { dev <DPDK_DEVICE_NAME> { num-rx-queues <NUM_RX_QUEUES> num-tx-queues <NUM_TX_QUEUES> socket-mem <SOCKET_MEM> } } interface <INTERFACE_NAME> { dpdk <DPDK_DEVICE_NAME> } ``` 在上述配置中,您需要将`<DPDK_DEVICE_NAME>`替换为DPDK设备名称(例如`0000:00:00.0`),`<NUM_RX_QUEUES>`和`<NUM_TX_QUEUES>`分别是接收和发送队列的数量,`<SOCKET_MEM>`是用于DPDK内存的分配。 5. 启动VPP:使用VPP启动命令启动VPP进程,例如: ``` sudo vpp -c /etc/vpp/startup.conf ``` 在启动VPP后,它将根据配置文件中的设置与DPDK集成。 请注意,这只是简单的配置示例,您可能需要根据您的特定需求进行更详细的配置。您可以参考FD.io VPPDPDK的官方文档以获取更多详细信息和配置选项。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值