小白式DPDK搭建方法(附相关错误得处理方法)
搭建环境:VM
VM搭建参考其他博客
步骤一 点击虚拟机设置,添加两个网卡(我这里都是使用的都是桥接模式)


步骤二、从网上下载dpdk的压缩包:
命令:wget http://fast.dpdk.org/rel/dpdk-18.05.1.tar.gz
解压安装:tar -zxvf dpdk-18.05.1.tar.gz

步骤三 安装相关依赖:
yum install numactl
yum install numactl-devel
yum install gcc
yum install gcc kernel-devel-$(uname -r)或者直接yum install gcc kernel-devel时候+tab键补全
步骤四、进入 /usr/src/kernels查看内核

步骤五、进入 /lib/modules/3.10.0-957.el7.x86_64 目录查看软链接 build是否正确
不正确会红光闪烁,原因是gcc版本和内核版本不一致,在后续安装中,会造成make: *** /lib/modules/5.2.4-1.el7.elrepo.x86_64/build: No such file or directory. Stop. 错误,
解决办法:删除原有的build文件,重新链接上,代码如下:
rm -rf build
ln -s /usr/src/kernels/3.10.0-1127.18.2.el7.x86_64 /lib/modules/3.10.0-957.el7.x86_64/build
内核按具体情况填写
下面这个是正确的:

步骤六、安装DPDK
cd /root/dpdk-stable-18.05.1/
cd usertools/ (有些dpdk的版本目录是tools)
./dpdk-setup.sh (执行安装)

步骤七、选择gcc进行安装
我这里是15(每个版本的DPDK都不一样,选择x86_64位的gcc安装就行)

gcc编译成功:

步骤八、插入IGB UIO

这里是18,因此选择18

如果是第二次运行,Loading uio module可能不存在,不影响后续
步骤九、设置大页内存
选择22 Setup hugepage mappings for NUMA systems

输入:1024

成功:

步骤十、绑定网卡
选择23 查看当前可用网卡:

这是虚拟机中空闲的2个网卡(前面添加的)
如果网卡出现Active的情况,将两张网卡down掉
代码如下
ifconfig ens37 down
ifconfig ens38 down
注意if后的ens37和ens38
选择24 绑定网卡
输入:ens37 ens38 (或者 02:05.0 02:06.0)
绑定网卡成功:

步骤十一、退出安装+配置环境变量
ctrl+c或者选择35退出安装,配置环境变量
vim ~/.bash_profile
export RTE_SDK=/root/dpdk-stable-18.05.1 (这个是安装的dpdk的绝对路径)
export TE_TARGET=x86_64-native-linuxapp-gcc (选择gcc编译)
然后刷新环境变量
source ~/.bash_profile
步骤十二、测试
测试安装是否成功
cd /root/dpdk-stable-18.05.1/examples/helloworld
make


cd build
./helloworld
此时会出现 这个错误:

解决办法:
cd /root/dpdk-stable-18.05.1/kernel/linux/igb_uio (每个版本的igb_uio存放的位置不一样,在dpdk的目录里找到它)
vim igb_uio.c
:set number (让vim显示行号)
:/pci_intx_mask_supported

将这语句pci_intx_mask_supported(udev->pdev) 修改为 pci_intx_mask_supported(udev->pdev || true)
再进入 ./dpdk-setup.sh 重新安装一次(跟上述步骤一样,唯一不一样的是选择 24绑定网卡的时候不能输入 ens37 ens38 输入 02:05.0 02:06.0 具体用23查看网卡属性)
再次测试:
cd /root/dpdk-stable-18.05.1/examples/helloworld
make
cd build
./helloworld
显示下图则表示成功:

小白式DPDK搭建方法(附相关错误得处理方法)的更多相关文章
- Idea for Mac 过期 IntelliJ IDEA 2017 完美注册方法(附idea for Mac破解方法)
Idea 不能使用了: 开始破解: (1)首先下载 jar包: https://download.csdn.net/download/engerla/10573069 放到位置: /Applicati ...
- 大数据学习系列之八----- Hadoop、Spark、HBase、Hive搭建环境遇到的错误以及解决方法
前言 在搭建大数据Hadoop相关的环境时候,遇到很多了很多错误.我是个喜欢做笔记的人,这些错误基本都记载,并且将解决办法也写上了.因此写成博客,希望能够帮助那些搭建大数据环境的人解决问题. 说明: ...
- 使用django建博客时遇到的URLcon相关错误以及解决方法。错误提示:类型错误:include0获得一个意外的关键参数app_name
root@nanlyvm:/home/mydj/mysite# python manage.py runserver Performing system checks... Unhandled exc ...
- 【mysql】修改数据时候,抛出safe mode相关错误,处理方法
在mysql5中,可以设置safe mode,比如在一个更新语句中 UPDATE table_name SET bDeleted=0; 执行时会错误,报: You are using safe upd ...
- CyclicBarrier正确的使用方法和错误的使用方法
CyclicBarrier是java推出的一个并发编程工具,它用在多个线程之间协同工作.线程约定到达某个点,到达这个点之后的线程都停下来,直到最后一个线程也到达了这个点之后,所有的线程才会得到释放.常 ...
- Linux出现Read-only file system错误的解决方法
造成这个问题的解决办法大多数是由于非正常关机后导致文件系统受损引起的,在系统重新启动之后,受损分区就会被Linux自己主动挂载为仅仅读.解决办法是通过fsck来修复文件系统,然后重新启动就可以,下面是 ...
- Linux 下Redis集群安装部署及使用详解(在线和离线两种安装+相关错误解决方案)
一.应用场景介绍 本文主要是介绍Redis集群在Linux环境下的安装讲解,其中主要包括在联网的Linux环境和脱机的Linux环境下是如何安装的.因为大多数时候,公司的生产环境是在内网环境下,无外网 ...
- thinkphp5.0的验证码安装和相关错误
thinkphp5.0的验证码安装和相关错误 问题 只要是之前使用thinkphp5框架搭建网站的时候发现不管如何调用验证码都无法使用,按照官网要求,使用composer安装验证码出现报错Fatal ...
- 从零开始实现ASP.NET Core MVC的插件式开发(八) - Razor视图相关问题及解决方案
标题:从零开始实现ASP.NET Core MVC的插件式开发(八) - Razor视图相关问题及解决方案 作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun ...
随机推荐
- 手写 promies
简单的 Promies 封装 function Promiss(fn) { this.state = 'pending' //当前状态 this.value = null // 成功执行时得到的数据 ...
- 你一个 F12 能秒我?
参考文章 思路决定成败:F12给了我黑色的眼睛我却用它来挖洞 前言 了解大佬的思路才知道自己现在学的到底有多浅. 还没有到点,我就已经进入状态了,生而为人,我很抱歉. F12 的骚操作 Element ...
- IC行业常见用语
https://www.cnblogs.com/yeungchie/ Active Devices 有源器件 MOSFET Metal-Oxide-Semicoductor Field-Effect ...
- 浅谈Mybatis持久化框架在Spring、SSM、SpringBoot整合的演进及简化过程
前言 最近开始了SpringBoot相关知识的学习,作为为目前比较流行.用的比较广的Spring框架,是每一个Java学习者及从业者都会接触到一个知识点.作为Spring框架项目,肯定少不了与数据库持 ...
- @RestController注解初步理解
一.在Spring中@RestController的作用等同于@Controller + @ResponseBody. 所以想要理解@RestController注解就要先了解@Controller和 ...
- CF1349F 【Slime and Sequences】part2
由于本文过长,\(\LaTeX\) 炸了,分两篇,part1 优化 我们假装不会欧拉数的通项式(其实是因为它的通项式不容易继续优化?),使用容斥代替掉欧拉数 设 \(\begin{vmatrix}n\ ...
- 用Python绘制一套“会跳舞”的动态图形给你看看
在读技术博客的过程中,我们会发现那些能够把知识.成果讲透的博主很多都会做动态图表.他们的图是怎么做的?难度大吗?这篇文章就介绍了 Python 中一种简单的动态图表制作方法. 看这优美的舞姿 很多人学 ...
- zuul路由网关集成ssl,实现http到https的转变
1 前言 最近几天刚开始接触微信小程序的开发,才接触到了https的概念(微信小程序中的请求必须为https请求,不然请求无法成功).https算是对http的安全封装,在http的基础上加了ssl证 ...
- java_字节流、字符流的使用方法
字节流 字节输出流[OutputStream] java.io.OutputStream 抽象类是表示字节输出流的所有类的超类,将指定的字节信息写出到目的地.它定义了字节输出流的基本共性功能方法. p ...
- VMware Workstation pro无法在Windows上运行,检查可在Windows上运行的此应用的更新版本
我的Windows版本是win10-1903,VMware版本比较老旧是VMware-10:国庆节后微软推送了一个新的更新补丁,更新之后发现VMware无法打开(未更新前正常). 更新补丁详情如下: ...