Data Plane Development Kit (DPDK): Getting Started
参考:dpdk getting started
系统:
Ubuntu 14.04
内核信息:
执行
uname -a
Linux chen-VirtualBox 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Using the Data Plane Development Kit
预准备
三种安装途径:
(1) wget www.dpdk.org/browse/dpdk/snapshot/dpdk-2.1.0.tar.gz
(2) sudo apt-get www.dpdk.org/browse/dpdk/snapshot/dpdk-2.1.0.tar.gz
(3) yum install www.dpdk.org/browse/dpdk/snapshot/dpdk-2.1.0.tar.gz
Ubuntu系统下选择(1) 或者 (2),等待五分钟安装完毕。
解压压缩包:
tar zxvf dpdk-2.1.0.tar.gz
进入目录:
cd dpdk-2.1.0
检查CPU设置 Check the CPU configurations.
cd tools
./cpu_layout.py
结果:
检查NIC配置 Check the NIC configurations.
./dpdk_nic_bind.py --status
结果:
Set up the DPDK
setup.sh is a useful utility that guides you through the process of compiling DPDK and configuring your system. To run it you need to be the root, and from the tools directory simply type:
./setup.sh
运行脚本,出现如下选项:
------------------------------------------------------------------------------
RTE_SDK exported as /admin/software_installfiles/dpdk-2.1.0
------------------------------------------------------------------------------
----------------------------------------------------------
Step 1: Select the DPDK environment to build
----------------------------------------------------------
[1] i686-native-linuxapp-gcc
[2] i686-native-linuxapp-icc
[3] ppc_64-power8-linuxapp-gcc
[4] tile-tilegx-linuxapp-gcc
[5] x86_64-ivshmem-linuxapp-gcc
[6] x86_64-ivshmem-linuxapp-icc
[7] x86_64-native-bsdapp-clang
[8] x86_64-native-bsdapp-gcc
[9] x86_64-native-linuxapp-clang
[10] x86_64-native-linuxapp-gcc
[11] x86_64-native-linuxapp-icc
[12] x86_x32-native-linuxapp-gcc
----------------------------------------------------------
Step 2: Setup linuxapp environment
----------------------------------------------------------
[13] Insert IGB UIO module
[14] Insert VFIO module
[15] Insert KNI module
[16] Setup hugepage mappings for non-NUMA systems
[17] Setup hugepage mappings for NUMA systems
[18] Display current Ethernet device settings
[19] Bind Ethernet device to IGB UIO module
[20] Bind Ethernet device to VFIO module
[21] Setup VFIO permissions
----------------------------------------------------------
Step 3: Run test application for linuxapp environment
----------------------------------------------------------
[22] Run test application ($RTE_TARGET/app/test)
[23] Run testpmd application in interactive mode ($RTE_TARGET/app/testpmd)
----------------------------------------------------------
Step 4: Other tools
----------------------------------------------------------
[24] List hugepage info from /proc/meminfo
----------------------------------------------------------
Step 5: Uninstall and system cleanup
----------------------------------------------------------
[25] Uninstall all targets
[26] Unbind NICs from IGB UIO or VFIO driver
[27] Remove IGB UIO module
[28] Remove VFIO module
[29] Remove KNI module
[30] Remove hugepage mappings
[31] Exit Script
Option:
你需要选择一个选项运行。
首先选择DPDK环境进行编译,一般选择Option 10.
结果:
设置linux app环境,Option 13,加载最新的IGB UIO模型,并编译它的驱动。
结果:
关于IGB UIO:IGB UIO is a DPDK kernel module which deals with PCI enumeration and handles links status interrupts in user mode, instead of being handled by the kernel.
接下来设置 Huge page mappings。需要根据在预准备阶段跑的命令
./cpu_layout.py所显示的socket个数进行选择。
我的socket个数为0,选择 Option 16. 在教程内选择的是Option 17.
选择了 Option 16,在跳出来的选项中输入128.
注意:如果选择了Option 17,那么根据原教程需要输入两次128。
接下来查看当前的以太网设置,Option 18:
Option 19,从Linux kernel driver中解耦出网卡,再通过Option 13绑定到IGB UIO模型(视频教程中没有进行选项13的操作,这里根据视频教程来)。
Option 19:
注意:Option 19,需要输入一个PCI的地址,这个地址需要在弹出的内容中找到有igb.uio的选项。
我这里只有一个选项,填的是00:03.0
再次查看以太网设置。
Option 18:
使用Option 24测试下:
Option 31 退出。
2016/10/21
Data Plane Development Kit (DPDK): Getting Started的更多相关文章
- PatentTips - Data Plane Packet Processing Tool Chain
BACKGROUND The present disclosure relates generally to systems and methods for providing a data plan ...
- How to install JDK (Java Development Kit) on Linux
This tutorial will guide you on how to install JDK (Java Development Kit) on Linux. Since I use Cent ...
- Cloudera Development Kit(CDK) 简介
Cloudera Development Kit(CDK) 简介 guibin.beijing@gmail.com 2013.07.02 CDK简介 CDK(Cloudera Development ...
- 【关注图像采集视频传输】之CYUSB3014 EZ-USB FX3 Software Development Kit
网址:http://www.cypress.com.与之前的High Speed FX2相比,新的产品叫Super Speed FX3,沿用了之前的命名习惯.FX2芯片内嵌一个8051核,FX3则内 ...
- 380-Xilinx Kintex UltraScale FPGA KCU1500 Acceleration Development Kit
Xilinx Kintex UltraScale FPGA KCU1500 Acceleration Development Kit Product Description The Kintex® U ...
- FBX Software Development Kit
FBX Software Development Kit The FBX Software Development Kit (FBX SDK) allows software developers t ...
- eclipse解压后启动弹出A Java Runtime Evironment(JRE) or Java Development Kit(JDK)....
系统环境:win7 64bit JDK:jdk-7u79-windows-x64 Eclipse:eclipse-jee-helios-win32 启动eclipse:弹出A Java Runtime ...
- ubuntu myeclipse 启动时提示 A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be avail ....
jdk已经安装过但是启动eclipse时提示“A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be avail ...
- Linux 下报错:A Java RunTime Environment (JRE) or Java Development Kit (JDK) must解决方案
一.报错环境:在Linux mint下,前几天还用得很好的的eclipse,今天开机不知为什么这样. Linux 下报错:A Java RunTime Environment (JRE) or Jav ...
随机推荐
- linux网络编程_1
本文属于转载,稍有改动,以利于学习. (一)Linux网络编程--网络知识介绍 Linux网络编程--网络知识介绍客户端和服务端 网络程序和普通的程序有一个最大的区别是网络程序是由两个 ...
- vm 负责虚拟机出现“”适配器 的mac地址在保留地址范围内‘’
我自己在windows中文件中,直接将一个虚拟机进行复制了一份,后用vm打开, 选择我已经移到,结果会出现了一下的情况, 导致了我无法ping 通,故我看到一下提示: 原来是我两台虚拟机的MaC ,即 ...
- 微信支付v3发布到iis时的证书问题(转)
本文纯粹转载(原地址:微信支付v3发布到iis时的证书问题 ) 一开始报“出现了内部错误” 解决方法是 方法一 var cer = new X509Certificate(certpath, pass ...
- 烟大 Contest1024 - 《挑战编程》第一章:入门 Problem B: Minesweeper(模拟扫雷)
Problem B: Minesweeper Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 29 Solved: 7[Submit][Status][W ...
- 自定义ContentProvider的一些细节探究
1. 适用范围 对于什么情况下才会用到自定义的ContentProvider,官方文档的Dev Guide是这样描述的: 如果你想要提供以下的一种或几种特性的时候你才需要构造一个ContentPr ...
- JNI常见错误1
1, java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "signal" referenced ...
- synchronized的理解
用法解释 synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调 ...
- Xamarin Android提示找不到资源属性定义
Xamarin Android提示找不到资源属性定义 错误信息:”Resource.Attribute”未包含”actonBarSize”的定义Xamarin Android经常会出现找不到资源属性的 ...
- POJ1679 The Unique MST(次小生成树)
可以依次枚举MST上的各条边并删去再求最小生成树,如果结果和第一次求的一样,那就是最小生成树不唯一. 用prim算法,时间复杂度O(n^3). #include<cstdio> #incl ...
- ural 1242. Werewolf
1242. Werewolf Time limit: 1.0 secondMemory limit: 64 MB Knife. Moonlit night. Rotten stump with a ...








