VPP学习之路——VPP安装之超完整,必成功版;VPP命令

VPP学习之路——VPP安装之超完整,必成功版;VPP命令


前言

  • 安装过程中会有报错,问题解决方法在文末!!
  • VPP运行于用户空间,支持多种收包方式,常用的收包工具是DPDK。
  • 我安装vpp是想用dpdk+vpp+frr进行三层转发。
  • vpp安装时候会安dpdk的tar包,部分版本的对应关系:
VPPDPDK
Vpp 2110dpdk 21.8
Vpp 2210/2302dpdk 2207
Vpp 2306dpdk 2303
Vpp 2310dpdk 2307

我的dpdk是之前安装过的22.11,选了vpp:stable2210,感觉也没啥问题。

一、安装环境:

ubuntu:20.04
dpdk:22.11
vpp:stable2210

二、vpp安装时候会安dpdk的tar包,部分版本的对应关系:

Vpp 2110 dpdk 21.8
Vpp 2210/2302 dpdk 2207
Vpp 2306 dpdk 2303
Vpp 2310 dpdk 2307
我的dpdk是之前安装过的22.11,选了vpp:stable2210,感觉也没啥问题。

三、安装步骤

sudo权限下执行

  1. 下载源码
 git clone -b stable/2210 https://github.com/FDio/vpp.git
  1. 编译
cd vpp
./extras/vagrant/build.sh && make //执行vpp自带的脚本,所有环境都会准备好

VPP编译后,会自动下载dpdk的压缩包,目录:vpp/build/external/downloads,按照dpdk安装步骤安装即可,查看dpdk是否安装成功:

pkg-config --modversion libdpdk
  1. 脚本运行成功后会在在vpp/build-root目录下生成.deb的安装包:

在这里插入图片描述

使用dpkg -i依次安装框中的七个包:
先装1、2再装3,否则3会报错;剩余deb包可根据需要安装

dpkg -i libvppinfra-dev_24.02.0-8~g80e950381_amd64.deb

或者嫌一个个安装麻烦全安装了也行:

dpkg -i build-root/*.deb
  1. 执行完成以后,检查:

  2. etc/vpp/下生成startup.conf文件

  3. /usr/lib/x86_64-linux-gnu/vpp_plugins目录下生成.so动态库文件
    在这里插入图片描述

  4. 配置dpdk运行环境

//这里vpp的测试运行依赖于uio 和igb_uio模块
modprobe uio
//igb_uio模块依赖于dpdk,我用dpdk插入igb_uio模块,可参考dpdk安装的相关介绍
insmod igb_uio.ko
//把dpdk要接管的网卡全部down掉
ifconfig eth0 down
ifconfig eth1 down
//配置巨页
echo 4 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages
echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
  1. 修改/etc/vpp/startup.conf配置文件
//查看ifconfig eth0 down中down掉的eth0的pci地址:
sudo lshw -class network -businfo

然后并把要用的pci地址加到startup.conf-dpdk里:
在这里插入图片描述

  1. 删除多余vpp进程
ps -aux | grep vpp   ps -eaf | grep vpp  kill -9
  1. 启动vpp

如果startup.conf 里面为cli-listen localhost:5002则:
启动vpp:sudo service vpp start(注:关闭服务service vpp stop、获取服务状态systemctl status vpp )
连接vpp:telnet 0 5002

如果startup.conf 里面为cli-listen /run/vpp/cli.sock则:
启动vpp:vpp -c /etc/vpp/startup.conf (通过-c选项加载配置文件)
连接vpp:vppctl -s /run/vpp/cli.sock或者直接vppctl

参考链接:

https://blog.csdn.net/qjh_serena/article/details/139639264
https://zhuanlan.zhihu.com/p/547995040
https://developer.aliyun.com/article/1404303

问题记录:

  1. ./extras/vagrant/build.sh编译报错
    — building ipsec-mb 1.0 - log: /home/xingyp/vpp-new/build/external/deb/_build/ipsec-mb.build.log
    在这里插入图片描述
    **原因:**虚拟机的cpu占用率一直在增长,直到将其整个沾满, 应该是nasm使用内存过多然后oom了。
    **解决方案:**虚机内存至少设置为8G;或者可以设置交换分区。
    参考链接

  2. unix_config:472: couldn’t open log ‘/var/log/vpp/vpp.log’

    **解决方案:**mkdir /var/log/vpp(创建目录)

VPP命令

show int
  • 23
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值