目录

Prerequisites

Installation, Compilation and Configuration


Prerequisites

1. Install CentOS 7.7

2. Set up an account to use the Linux Foundation resources. To set up the account, refer to The Linux Foundation website: https://identity.linuxfoundation.org.

3. Set up a Gerrit account and apply an ssh public key. Follow the instructions on the FD.IO wiki web page: https://wiki.fd.io/view/DEV/Setting_up_Gerrit#Log_into_Gerrit

4. Install the following prerequisites packages:

Cli command

yum install -y git cpp gcc rpm-build openssl-devel libmnl-devel numactl-devel epel-release net-tools rdma-core-devel nasm

Installation, Compilation and Configuration

1. Download VPP main master branch.

Cli commands

git clone ssh://<USERNAME>@gerrit.fd.io:29418/vpp.gitgit checkout origin/stable/<"Release_version_number">
  • Use your Linux Foundation user account name (see Prerequisites above) instead of <USERNAME> as shows in above example.
  • To find desired <"Release_version_number"> do: "git -r branch" form VPP root git directory.

2. For VPP 18.07 ONLY: Enable the mlx5 PMD driver compilation as follow:

Cli commands


cd /vppsed -i '/vpp_uses_dpdk_mlx5_pmd/s/^# //g' build-data/platforms/vpp.mk 
3. Compile and install VPP with DLopen linkage

Cli commands

cd /vppmake install-depmake dpdk-install-dev DPDK_MLX5_PMD=y DPDK_MLX5_PMD_DLOPEN_DEPS=y## Copy manually newly compiled shared module: ##cp /opt/vpp/external/x86_64/lib/librte_pmd_mlx5_glue.so* /usr/lib64/## For VPP 18.07 ONLY, check vpp-dpdk-devel package is installed: ##rpm -qa | grep vpp-dpdk-devel## Compile new binary: ##make build-release vpp_uses_dpdk_mlx5_pmd=yes DPDK_MLX5_PMD_DLOPEN_DEPS=y## Building RPM packages: ##make pkg-rpm vpp_uses_dpdk_mlx5_pmd=yes DPDK_MLX5_PMD_DLOPEN_DEPS=y## Install VPP RPMs: ##rpm -ivh build-root/vpp-sel*.rpmrpm -ivh build-root/vpp-lib*.rpmrpm -ivh build-root/vpp-19*.rpmrpm -ivh build-root/vpp-plug*.rpm 

4. Compile and install without DLopen linkage

Cli commands


cd /vppmake install-depmake dpdk-install-dev DPDK_MLX5_PMD=y DPDK_MLX5_PMD_DLOPEN_DEPS=n## Compile new binary: ##make build-release DPDK_MLX5_PMD=y DPDK_MLX5_PMD_DLOPEN_DEPS=n## Building RPM packages: ##make pkg-rpm vpp_uses_dpdk_mlx5_pmd=yes DPDK_MLX5_PMD_DLOPEN_DEPS=n## Install VPP RPMs: ##rpm -ivh build-root/vpp-sel*.rpmrpm -ivh build-root/vpp-lib*.rpmrpm -ivh build-root/vpp-19*.rpmrpm -ivh build-root/vpp-plug*.rpm 

5. Edit the /etc/vpp/startup.conf start file to include the following:

Important: Uncomment no-mulit-seg parameter. It disables jumbo packets handling and improves performances significantly.

File

unix {nodaemonlog /tmp/vpp.logfull-coredump}dpdk {dev 0000:07:00.0dev 0000:07:00.1no-multi-segdev default {num-rx-queues 2}}

Insert PCI slot numbers of ConnectX-4/5 interfaces with correct IDs at dpdk { dev } section, as above example.

To verify the correct IDs use:

Cli command


lspci -nn | grep -i mel07:00.0 Ethernet controller [0200]: Mellanox Technologies MT27620 Family [15b3:1013]07:00.1 Ethernet controller [0200]: Mellanox Technologies MT27620 Family [15b3:1013]

6. Start VPP.

Cli command

vpp -c /etc/vpp/startup.conf

7. Enter the VPP Command Line Interface.

Cli command

vppctl

8. Configure L3 interfaces as shown in the example below:

VPP Cli

_______    _        _   _____  ___
__/ __/ _ \  (_)__    | | / / _ \/ _ \
_/ _// // / / / _ \   | |/ / ___/ ___/
/_/ /____(_)_/\___/   |___/_/  /_/vpp#  set int ip address HundredGigabitEthernet7/0/0 1.1.1.1/24vpp#  set interface state HundredGigabitEthernet7/0/0 upvpp#  set int ip address HundredGigabitEthernet7/0/1 2.2.2.2/24vpp#  set interface state HundredGigabitEthernet7/0/1 upvpp# show intName               Idx       State          Counter          CountHundredGigabitEthernet7/0/0              1         upHundredGigabitEthernet7/0/1              2         upvpp# show int addressHundredGigabitEthernet7/0/0 (up):1.1.1.1/24HundredGigabitEthernet7/0/1 (up):2.2.2.2/24local0 (dn):

CentOS7 搭建基于DPDK的FD.io VPP环境-1相关推荐

  1. FD.io VPP环境下运行用户应用程序教程

    FD.io VPP环境下运行用户应用程序教程 RToax 2020年9月 相关文章:<FD.io VPP利用iperf3进行UDP灌包测试-英特尔X520万兆网卡> 1. VPP简介 VP ...

  2. FD.io VPP:CentOS7下构建自己的VPP RPM包

    FD.io VPP:用户文档 构建VPP RToax 2020年9月 要开始使用VPP进行开发,您需要获取所需的VPP源代码,然后构建软件包. 1. 设置代理 如果你的服务器本地可以连接互联网,则跳过 ...

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

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

  4. 关于FD.io VPP的最新消息

    Table of Contents CuVPP:软件数据平面中基于过滤器的最长前缀匹配 快速数据项目的矢量包处理器(VPP)版本20.05 2020年打破神话的DPDK 在商品硬件上使用Calico ...

  5. FD.io/VPP — Overview

    目录 文章目录 目录 FD.io VPP FD.io 官网:https://fd.io FD.io(Fast data – Input/Output)是 Linux 基金会下属的一个开源项目,成立于 ...

  6. FD.io VPP:vlib buffer pool(vlib_buffer) 内存初始化

    Table of Contents vlib buffer创建过程 vlib_buffer相关内存初始化 1.函数一开始就查询numa的个数 2.遍历numa节点来初始化 3.查询系统大页大小. 4. ...

  7. FD.io VPP:用户文档:VPP RPM包的构建与离线安装

    VPP RPM包的构建与离线安装 RToax 2020年9月 要开始使用VPP进行开发,您需要获取所需的VPP源代码,然后构建软件包. 1. 设置代理 如果你的服务器本地可以连接互联网,则跳过设置代理 ...

  8. FD.io VPP基本介绍:理解向量包处理(VPP)

    FD.io VPP:用户文档 向量包处理器 RToax 2020年9月 1. 什么是向量包处理器(VPP) FD.io的矢量包处理器(VPP)是一个快速,可扩展的2-4层多平台网络协议栈.它在Linu ...

  9. FD.io VPP 20.05 官方文档 总目录:用户文档+开发文档+命令行

    https://docs.fd.io/vpp/20.05/index.html Vector Packet Processing FD.io VPP ▼Vector Packet Processing ...

最新文章

  1. TensorFlow练习12: 判断男声女声
  2. json格式的字符串转为json对象遇到特殊字符问题解决
  3. 优秀编程团队需要改善的12件事情
  4. MFC - 获取程序当前路径
  5. 火狐浏览器如何更改字体 火狐浏览器字体更改方法分享
  6. CV Code|计算机视觉开源周报20200501期
  7. 力扣——删除重复的电子邮箱(数据库的题
  8. 协程 vs 线程 demo
  9. 咖啡口味介绍及存储方式
  10. Spring Security笔记:Remember Me(下次自动登录)
  11. web.xml配置以及一些详解
  12. app软件怎么开发 盘点3种app制作方式
  13. 用阿里云短信服务--通过Web接口发送短信
  14. 图灵机是一台计算机吗,计算机不是只会 “计算”,图灵机也不是一台“机器”...
  15. Ardunio开发实例-OPT3001数字环境光传感器
  16. 计算机通识之TCP/IP协议簇(二)
  17. 【bzoj1612】【Usaco2008 Jan】Cow Contest奶牛的比赛 题解代码
  18. JLINK在线调试——软件调试方法与技巧
  19. java程序 部署服务器_Java代码如何布署到云服务器
  20. python学习笔记:插入函数append,extend与insert的使用与区别

热门文章

  1. mongodb数据库显示obj_Mongodb使用
  2. lambda 对象去重_采用java8 lambda表达式 实现 java list 交集 并集 差集 去重复并集...
  3. Java性能调优小技巧
  4. JavaScript FormData对象,FileReader对象,files属性
  5. [vue]vue路由篇vue-router
  6. exchange 2010 relay设定
  7. 事件冒泡与事件捕获,附实例
  8. js设置百分比保留两位小数
  9. 学科实践活动感悟50字_“五育并举”的一次生动实践——洪雅实验中学研学活动感悟...
  10. jvm对象从新生代到老年代_JVM内存管理、JVM垃圾回收机制、新生代、老年代以及永久代...