一、环境

操作系统: Centos7.4

VPP版本: 20.09

设置阿里云镜像源

注:由于centos官方源下载rpm太慢,vpp依赖的rpm包有几百个,所以选择阿里云镜像源

更新centos-base源参考

centos镜像-centos下载地址-centos安装教程-阿里巴巴开源镜像站

更新epel源参考

epel镜像-epel下载地址-epel安装教程-阿里巴巴开源镜像站

都选择RHEL 7版本

二、安装vpp

1.下载vpp-20.09版本

git clone -b stable/2009 https://github.com/FDio/vpp.git

如果速度太慢可以先把vpp从github上导入到码云,然后从码云下载

2.安装vpp依赖包

cd vpp-20.09
make install-dep

全部选y,安装完成后重启机器,这里重启是因为vpp会更新kernel到最新版本,可以通过 uname -a命令查看,不更新会影响dpdk编译安装

3.编译igb_uio驱动

注: 现在内核基本都自带vfio-pci或者uio_pci_generic驱动,基本不需要igb_uio,而且从2101版本开始igb_uio被移除了

这里是可选项,vpp利用dpdk收包,需要编译igb_uio这个网卡驱动,但是不做vpp也可以运行

有两种方式编译igb_uio驱动

方式一是手动编译安装dpdk的时候编译igb_uio驱动

方式二是修改配置文件,让vpp编译安装dpdk时编译igb_uio驱动,这里采用方式二,方式一可以自行百度,网上有很多教程

cd /home/vpp-20.09/build/external/packages
vi dpdk.mk
# 找到 $(call set,RTE_EAL_IGB_UIO,n)
# 把 n 改成 y 并保存退出

4.安装vpp相关依赖

make install-ext-deps

这里vpp会下载几个依赖的程序,例如dpdk

下载目录是 vpp-20.09/build/external/downloads 可以查看

vpp会把下载的程序压缩包解压编译安装并且制作成一个rpm包,安装包名称是 vpp-ext-deps-20.09-13.x86_64, 这里20.09-13会根据版本有变化

5.编译安装vpp

make build      #编译debug版本
make build-release    #编译发布版本

三、配置大页内存

大页内存不配置也可以运行,但是配置可以提高程序性能

这里只是举例,如果服务器内存很多那么配置越多越好,例如32G内存可以配置16个

vim /etc/default/grub
# 修改 GRUB_CMDLINE_LINUX 这一行并保存退出
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet default_hugepagesz=1G hugepagesz=1G hugepages=1"
# 在尾部添加了 default_hugepagesz(默认大页大小) hugepagesz(大页大小) hugepages(大页个数)
# 这里是设置了1个大页内存 大页内存大小是1G linux还支持2M的大页
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
# 通过/proc/meminfo 查看大页内存情况
cat /proc/meminfo

情况如图所示

总大页个数是1 剩余大页个数是1

四、运行VPP

运行vpp前需要了解vpp的可执行程序和配置文件,其次还有vpp运行时会遇到的错误和警告,这里以make build方式举例说明

1.vpp相关文件

编译过后会生成一些可执行程序和依赖的动态库

可执行程序在目录vpp-20.09/build-root/build-vpp_debug-native/vpp/bin

动态库在目录vpp-20.09/build-root/build-vpp_debug-native/vpp/lib

默认配置文件在目录vpp-20.09/build-root/install-vpp_debug-native/vpp/etc/vpp,名称为startup.conf

2.运行vpp

这里举例运行vpp并且指出运行vpp会遇到的问题和解决方法

2.1修改环境变量

vi /etc/profile
在尾部添加
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/include:/usr/local/include
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/lib64:/usr/local/lib:/usr/local/lib64
export CC=/opt/rh/devtoolset-9/root/bin/gcc
export CXX=/opt/rh/devtoolset-9/root/bin/g++
保存退出后执行 source /etc/profile

这里主要是主要是C_INCLUDE_PATHLD_LIBRARY_PATH,指定程序默认搜索头文件和动态库的路径

CC和CXX是指定gcc和g++版本,这里是因为Centos7安装的gcc是4.8.5,通过更改环境变量CC和CXX可以更换gcc版本

2.2运行vpp

cd vpp-20.09/build-root/build-vpp_debug-native/vpp/bin #切换到vpp可执行程序目录
./vpp -c /home/vpp-20.09/build-root/install-vpp_debug-native/vpp/etc/vpp/startup.conf

这里是默认配置文件运行vpp

2.3动态库找不到错误解决

找不到是因为vpp生成的动态库不在程序搜索的目录下

cd vpp-20.09/build-root/build-vpp_debug-native/vpp/lib
cp -r * /usr/local/lib    # 拷贝所有动态库到系统默认目录下

2.4vpp用户组不存在错误

添加vpp用户组即可

groupadd vpp

2.5vpp日志文件创建失败

原因是因为/var/log/vpp目录不存在

mkdir -p /var/log/vpp

2.6vpp证书警告

这个只是警告,不影响运行,但是还是消除掉比较好

cd /etc/ssl/certs/
./make-dummy-cert ca-certificates.crt

2.7运行vpp命令行界面

vpp通过命令行界面与vpp进行交互,可以查看和设置各种内容,留着以后讲解

前提是vpp已经运行了,新开一个终端

cd vpp-20.09/build-root/build-vpp_debug-native/vpp/bin
./vppctl -s /run/vpp/cli.sock

出现这个界面就算成功了

至此vpp已经算是安装好了,并且可以运行,后期将会讲解vpp配置文件

VPP-20.09版本安装教程(联网版)相关推荐

  1. mysql8.0.20 64位安装教程_MySQL8.0.20压缩版本安装教程图文详解

    1.mysql下载地址: http://ftp.ntu.edu.tw/mysql/downloads/mysql-cluster-8.0/ 2.解压以后放在一个文件夹里面,创建my.ini配置文件: ...

  2. FD.io VPP 20.09版本正式发布:往期VPP文章回顾+下载地址+相关链接

    目录 下载RPM/DEB包 往期文章回顾与推荐 FD.io是一些项目和库的集合,基于DPDK并逐渐演化,支持在通用硬件平台上部署灵活可变的业务.FD.io为软件定义基础设施的开发者提供了一个通用平台, ...

  3. mysql数据库压缩图片_MySQL8.0.20压缩版本安装教程图片加文字详解

    1.MySQL下载地址: http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-Cluster-8.0/ 2.解压以后放在一个文件夹里面,创建my.ini配置文件: ...

  4. Fortify白盒神器20.1.1安装教程

    Fortify白盒神器20.1.1安装教程 本文首发:https://mp.weixin.qq.com/s/ytUEQiEjvB_GvY-Z-SM-Cg Fortify SCA ,是HP的产品 ,是一 ...

  5. oracle11g r2 64 补丁,win10系统下oracle11g R2的64位版本安装教程

    win10下oracle11g r2的64位版本安装教程. 下载 win 64位操作系统 下载地址: https://download.oracle.com/otn/nt/oracle11g/1120 ...

  6. vim Windows版本安装教程

    vim Windows版本安装教程 1.下载 2.安装 3.进入vim 官网地址 github官方地址:https://github.com/vim/vim-win32-installer/relea ...

  7. Xilinx ISE 14.7 官方Win10版本安装教程(解决Win10闪退问题)

    Xilinx ISE 14.7 官方Win10版本安装教程(解决Win10闪退问题) 说在前面 第一步 官网下载 ISE 14.7 Win10 第二步 安装 第三步 运行程序 第四步 Oracle V ...

  8. mysql官网下载最新版升级版本多版本安装教程

    mysql官网下载最新版升级版本多版本安装教程 有好多人经常问我有没有mysql的安装包,很是无语,因为问的很多 ,所以今天就写一个教程. 1.下载安装包 点击打开下载地址:mysql官网下载地址,打 ...

  9. Vivado2021.2版本安装教程

    Vivado2021.2版本安装教程 2021.2版本提取链接:https://pan.baidu.com/s/12P7twkEVErKmqTmkhTnvMg 提取码:2hyr. 第一步:首先打开解压 ...

  10. python中文版下载安装教程,python最新版本安装教程

    python下载安装教程 python下载安装教程:自定义安装目录,点击install进行安装,打开cmd窗口,输入python,显示python的版本,安装成功. Python语言更适合初学者,Py ...

最新文章

  1. News | 经有限数据研究显示瑞德西韦有望治疗冠状病毒患者
  2. HBase 参考指南 3.0 翻译活动期待大家的参与 | ApacheCN
  3. java线程池拒绝策略_Java核心知识 多线程并发 线程池原理(二十三)
  4. pureMVC介绍及学习
  5. 只用半小时,只用半小时,只用半小时,给自己一个机会,看完保你web开发一期末不挂科,老师看了都说好
  6. linux shell判断文件、目录是否存在并移动到指定位置
  7. 一些杂感杂想(一)谈谈加班、团队
  8. oracle服务器环境建立,oracle 透明网关环境的建立
  9. 【MAVEN】如何在Eclipse中创建MAVEN项目
  10. MyBatis 缓存详解-什么时候开启二级缓存?
  11. Relaltek声卡在UBUNTU下没有声音的解决方法。
  12. aix内核是linux,查看Linux及AIX硬件信息方法总结
  13. 【Java】Socket多客户端Client-Server聊天程序
  14. Oreo易支付程序开源源码分享发行版V1.3
  15. Oracle11gR2下搭建DataGuard主备同步详解
  16. android 崩溃原因,Android SurfaceView常见崩溃的原因以及解决办法
  17. 城市不透水面空间分析——以宁波为例
  18. 利用python操作mrjob实例---wordcount
  19. 行内元素之间产生的间隙
  20. Oracle 12c升级指南

热门文章

  1. mysql sqlyog讲解_MySQL与sqlyog安装教程图文详解
  2. python用cartopy包画地图_利用Cartopy绘制带有地图投影的图形
  3. 软件开发需求文档案例_第2部分:开发软件需求,一个案例研究
  4. vue从s3(AWS)中获取图片并展示
  5. IDEA 导包快捷键
  6. Java 如何生成 UUID
  7. 豆瓣电影推荐系统(Ⅰ)ItemCF算法原理
  8. VLAN中tagged与untagged的处理(转)
  9. (崩溃整理)EDEM多体动力学EDEM-ADAMS耦合步骤,及报错问题分析
  10. Java面试题全集中