00、思科VPP软件概要
思科VPP(Vector Packet Processing)是一款由思科开发的商用代码,后来其开源版本被加入到Linux基金会的FD.io项目中,并成为该项目的核心。以下是关于思科VPP的概要介绍:
一、VPP的基础信息
二、VPP的主要特点和功能
三、VPP的应用场景
四、VPP的技术优势
01、编译环境介绍
编译机环境介绍
OS:Ubuntu 22.04
VPP:VPP branch 24.02
02、源码下载操作
VPP 源代码下载
通过执行命令:git clone -b stable/2402 https://gerrit.fd.io/r/vpp 从官网拉取 vpp 24.02 版本
执行操作如下所示,当前全新的ubuntu 22.04版本拉取代码。
问题一:操作日志显示git not found 错误。日志如下所示:
解决方法:使用apt install git 命令从unbuntu 官方源拉取git工具安装到本地。
然后使用git 命令,使用-b 参数下载指定版本的vpp代码。其操作指令为: git clone -b stable/2402 https://gerrit.fd.io/r/vpp
03、编译vpp源代码实操
一、依赖环境安装
该步骤通过使用 make install-dep 命令安装编译需要的工具链等配置。
问题二:make 工具未安装
解决方法:按照提示安装工具,使用apt install make 命令从OS的源拉取make工具安装到本地。
然后继续执行make install-dep命令,搭建编译依赖的环境。
中间略去N行 log信息,无错误提示,标识该步骤执行成功。
二、执行vpp代码构造操作
该步骤通过使用make build 或者make build-release 编译版本,其分别对应编译调试的debug版本,和发布的release版本。其区别在于debug版本编译的版本含有gcc 调试的符号,而 release 发布版本使用gcc -O3 优化,删除了一些调试的符号。gcc -O3 等优化细节,详情可以参考网上相关资料, Google is the best answer.
提示:该步骤需要联网下载如dpdk等相关依赖包,因此需要连接网络。
问题三:构造过程中,需要下载RDMA包,但是因网络不稳定,出现问题:RDMA软件包下载失败!
解决方法:重新执行 make build命令,会从上次下载失败的软件包处重新开始下载依赖包
在此构造过程中,需要编译DPDK,因此消耗时间较多。
问题四:缺少meson 工具导致无法编译dpdk
解决方法:
方法一:重新执行make build 操作,通过log可以清晰看到meson工具被安装。
方法二:安装与之对应版本的meson工具。
最终编译成功
可执行程序vpp在路径 build-root/build-vpp_debug-native/vpp/bin/ 下
当前版本对应的lib库路径:
build-root/build-vpp_debug-native/vpp/lib/x86_64-linux-gnu/
VPP软件库中各个插件对应的lib库路径:
build-root/build-vpp_debug-native/vpp/lib/x86_64-linux-gnu/vpp_plugins/
04、结束
小伙伴们,本章节关于Ubuntu 22.04环境下编译思科VPP 24.02版本的软件编译就先介绍到这了。后续章节我们继续讲解VPP的相关知识,感谢小伙伴们的阅读,下期再见!
作者简介
作者:通信行业搬砖工 云网络高级软件工程师
数通领域行业从业人员
现云网络行业从业者
(正文完)
END
转载与投稿
文章转载需注明:来源公众号:通信行业搬砖工,并且附上链接
文章错误之处,欢迎指导斧正,各位大拿留言交流,探讨技术。