搭建环境: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

显示下图则表示成功:

 

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/cutelife/p/13553689.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!

相关课程

3720 0元 58元 限免