How-to: Build VPP FD.IO development environment with Mellanox DPDK PMD.
目录
References
Prerequisite
Installation, Compilation and Configuration
VPP is an open-source Vector Packet Processing (VPP) platform by Cisco. The package supplies a powerful DPDK-based dataplane with a variety of Layer 3 (L3) and Layer 2 (L2) functionalities.
VPP can be integrated with OpenStack and third-party SDN controllers. Red Hat adopted VPP alongside OVS-DPDK as a hypervisor dataplane.
This post shows how to build a VPP development environment over DPDK for ConnectX-4 and ConnectX-5 adapters. The environment can be used to support networking functionalities and performance testing.
The post audience targets Developer/DevOps or a Technical Engineers, who would like to test and evaluate Mellanox ConnectX-4/5's integration with VPP.
- References
- Prerequisite
- Installation, Compilation and Configuration
References
- Performance tuning for VPP - https://wiki.fd.io/view/VPP/How_To_Optimize_Performance_(System_Tuning)
- Routing and Switching tutorial - https://wiki.fd.io/view/VPP/Tutorial_Routing_and_Switching
- VPP CLI guide - https://wiki.fd.io/view/VPP/Command-line_Interface_(CLI)_Guide
Prerequisite
1. Install Ubuntu 16.04 operating system.
2. Install MLNX_OFED rel. 4.1-1.0.2.0 and use the ofed_info command to verify that the version is 4.1-1.0.2.0:
ofed_info -s
3. 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.
4. 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
5. Install the following packages:
apt-get -y install git-review git dh-systemd bison libssl-dev libcr-dev libnuma-dev libganglia1-dev libapr1-dev libconfuse-dev debhelper dkms curl nasm
6. Install Oracle Java 8.
install Oracle Java 8:
apt-get install software-properties-common -y
add-apt-repository ppa:webupd8team/java -y
apt-get update
apt-get install oracle-java8-installer oracle-java8-set-default -yJAVA_HOME=/usr/lib/jvm/java-8-oracle
Installation, Compilation and Configuration
1. Download the VPP main master branch.
git clone ssh://<USERNAME>@gerrit.fd.io:29418/vpp.git
git checkout origin/stable/1710
Use your Linux Foundation user name account you created, instead of <USERNAME> as in the from the example above.
2. Enable the mlx5 PMD driver compilation.
cd /vpp
sed -i '/vpp_uses_dpdk_mlx5_pmd/s/^# //g' build-data/platforms/vpp.mk
3. Compile
cd /vpp
make dpdk-install-dev DPDK_MLX5_PMD=y
make install-dep
make build-release
make pkg-deb vpp_uses_dpdk_mlx5_pmd=yes
dpkg -i build-root/vpp-lib*
dpkg -i build-root/vpp_17*
dpkg -i build-root/vpp-plugins*
4. Edit the /etc/vpp/startup.conf start file so that it contains the following:
Important: Uncomment no-mulit-seg parameter. It disables jumbo packets handling and improves performances significantly.
unix {nodaemonlog /tmp/vpp.logcli-listen localhost:5002full-coredump
}dpdk {dev 0000:07:00.0dev 0000:07:00.1no-multi-segdev default {num-rx-queues 2}
}
eplace the PCI slot numbers of ConnectX-4/5 interfaces marked in red from the example above with the correct IDs. To verify the correct id use:
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]
5. Start VPP.
service vpp start
6. Enter the VPP Command Line Interface.
telnet localhost 5002
7. Configure L3 interfaces as shown in the example below:
VPP CLI
_______ _ _ _____ ___
__/ __/ _ \ (_)__ | | / / _ \/ _ \
_/ _// // / / / _ \ | |/ / ___/ ___/
/_/ /____(_)_/\___/ |___/_/ /_/vpp# set int ip address HundredGigabitEthernet7/0/0 1.1.1.1/24
vpp# set interface state HundredGigabitEthernet7/0/0 up
vpp# set int ip address HundredGigabitEthernet7/0/1 2.2.2.2/24
vpp# set interface state HundredGigabitEthernet7/0/1 upvpp# show intName Idx State Counter Count
HundredGigabitEthernet7/0/0 1 up
HundredGigabitEthernet7/0/1 2 upvpp# show int addressHundredGigabitEthernet7/0/0 (up): 1.1.1.1/24
HundredGigabitEthernet7/0/1 (up): 2.2.2.2/24local0 (dn):
How-to: Build VPP FD.IO development environment with Mellanox DPDK PMD.相关推荐
- How-to: Build VPP FD.IO with Mellanox DPDK PMD on top CentOS 7.7 with inbox drivers.
目录 References Prerequisites Installation, Compilation and Configuration This short document will gui ...
- FD.io VPP 20.05 官方文档 总目录:用户文档+开发文档+命令行
https://docs.fd.io/vpp/20.05/index.html Vector Packet Processing FD.io VPP ▼Vector Packet Processing ...
- FD.io/VPP — Overview
目录 文章目录 目录 FD.io VPP FD.io 官网:https://fd.io FD.io(Fast data – Input/Output)是 Linux 基金会下属的一个开源项目,成立于 ...
- FD.io VPP的C语言接口如何使用:FD.io VPP: How To Use The C API
目录 引言 - Introduction C语言API概述 - C API Overview 运行环境 - The Runtime Environment API回顾 - Message API Re ...
- FD.io VPP:用户文档:VPP RPM包的构建与离线安装
VPP RPM包的构建与离线安装 RToax 2020年9月 要开始使用VPP进行开发,您需要获取所需的VPP源代码,然后构建软件包. 1. 设置代理 如果你的服务器本地可以连接互联网,则跳过设置代理 ...
- FD.io VPP对 DPDK的详细配置:绑定网卡,启动VPP
目录 Prerequisites Using DPDK interfaces Configuring Vagrant and start the VM Checking the host-only n ...
- FD.io/VPP — VPP 的安装部署
目录 文章目录 目录 源码编译安装 Troubleshooting 问题 1:Errors were encountered while processing 问题 2:NASM is not ins ...
- FD.io VPP环境下运行用户应用程序教程
FD.io VPP环境下运行用户应用程序教程 RToax 2020年9月 相关文章:<FD.io VPP利用iperf3进行UDP灌包测试-英特尔X520万兆网卡> 1. VPP简介 VP ...
- FD.io VPP:CentOS7下构建自己的VPP RPM包
FD.io VPP:用户文档 构建VPP RToax 2020年9月 要开始使用VPP进行开发,您需要获取所需的VPP源代码,然后构建软件包. 1. 设置代理 如果你的服务器本地可以连接互联网,则跳过 ...
最新文章
- java lambda循环_在Java 8 Lambda中创建自己的循环结构
- go语言php编译,Golang模板编译引擎FET
- 【手把手带你入门深度学习之150行代码的汉字识别系统】学习笔记 ·003 用训练模型进行预测
- 使用nlite制作集成驱动windows安装光盘及实践心得
- IDEA2019.3 双击启动无反应解决方法
- 基于C#在Mongodb的Skip-Limit和Where-Limit的分页对比 并且含mongodb帮助类的源码
- 闲来无聊,随便看下asp.net Mvc 的收获
- Scratch编程(九)扩展模块:翻译模块
- 2.4g低功耗SI24R1校园答题器
- eclipse安装GWT插件
- device or resource busy问题处理
- 洛必达法则的使用条件
- 读取云服务器文件列表,读取云服务器文件列表
- 思科的服务器困局:投资增长,还是退出?
- 阿拉伯数字转换为中文大写数字
- 计算机图形学:3D坐标系及左右手坐标的转换
- SWUSTOJ #616 排序查找
- 哈理工OJ 1630 网线 【建图+Prime算法】
- Win8系统下VS2012添加MSComm控件
- java 操作pdf_java操作PDF(PDFBOX和Itext框架)
热门文章
- h5 客服系统源码_Bos:做在线客服系统项目(附源码)
- leetcode题解206-反转链表
- Java源码阅读PriorityQueue
- 3.索引与string进行映射实现高效查找
- 项目中的textarea遇到的小问题
- Oracle的dbms_jobs 自动计划
- vscode终端无法识别node
- tp5连接mysql数据库_TP5的链接数据库
- vue方法传值到data_Vue组件创建和传值的方法
- armbian安装图形桌面_archlinux / parabola 图形用户界面安装教程