目录

文章目录

  • 目录
  • 环境参数
  • 环境依赖准备
  • 安装 DPDK
  • 测试
  • 附 1:Enable pcap

环境参数

  • Intel x86
  • Ubuntu 18.04 LTS
  • Python 3.6
  • DPDK 18.08
  • NICs virtio controller

环境依赖准备

# 自动解决必要依赖包安装的工具
sudo apt-get install build-essential
# 更新系统
sudo apt-get update -y && sudo apt-get upgrade -y
# Kernel Header
sudo apt-get install linux-headers-$(uname -r)
# GCC
sudo apt-get install gcc -y
# C++
sudo apt-get install  g++ -y
# Pcap
sudo apt-get install libpcap-dev -y
# NUMA
sudo apt-get install libnuma-dev -y
sudo apt-get install numactl -y
# Network Tools
sudo apt-get install net-tools -y

安装 DPDK

下述使用 dpdk-setup.py tool 来进行安装。

sudo cd /opt
sudo wget http://fast.dpdk.org/rel/dpdk-18.08.tar.gz
sudo tar -zxvf dpdk-18.08.tar.gz
sudo cd /opt/dpdk-18.08/usertools$ sudo ./dpdk-setup.py
------------------------------------------------------------------------------RTE_SDK exported as /opt/dpdk-18.08
------------------------------------------------------------------------------
----------------------------------------------------------Step 1: Select the DPDK environment to build
----------------------------------------------------------
[1] arm-armv7a-linuxapp-gcc
[2] arm64-armv8a-linuxapp-clang
[3] arm64-armv8a-linuxapp-gcc
[4] arm64-dpaa-linuxapp-gcc
[5] arm64-dpaa2-linuxapp-gcc
[6] arm64-stingray-linuxapp-gcc
[7] arm64-thunderx-linuxapp-gcc
[8] arm64-xgene1-linuxapp-gcc
[9] i686-native-linuxapp-gcc
[10] i686-native-linuxapp-icc
[11] ppc_64-power8-linuxapp-gcc
[12] x86_64-native-bsdapp-clang
[13] x86_64-native-bsdapp-gcc
[14] x86_64-native-linuxapp-clang
[15] x86_64-native-linuxapp-gcc
[16] x86_64-native-linuxapp-icc
[17] x86_x32-native-linuxapp-gcc----------------------------------------------------------Step 2: Setup linuxapp environment
----------------------------------------------------------
[18] Insert IGB UIO module
[19] Insert VFIO module
[20] Insert KNI module
[21] Setup hugepage mappings for non-NUMA systems
[22] Setup hugepage mappings for NUMA systems
[23] Display current Ethernet/Crypto device settings
[24] Bind Ethernet/Crypto device to IGB UIO module
[25] Bind Ethernet/Crypto device to VFIO module
[26] Setup VFIO permissions----------------------------------------------------------Step 3: Run test application for linuxapp environment
----------------------------------------------------------
[27] Run test application ($RTE_TARGET/app/test)
[28] Run testpmd application in interactive mode ($RTE_TARGET/app/testpmd)----------------------------------------------------------Step 4: Other tools
----------------------------------------------------------
[29] List hugepage info from /proc/meminfo----------------------------------------------------------Step 5: Uninstall and system cleanup
----------------------------------------------------------
[30] Unbind devices from IGB UIO or VFIO driver
[31] Remove IGB UIO module
[32] Remove VFIO module
[33] Remove KNI module
[34] Remove hugepage mappings[35] Exit ScriptOption:
  • Setup DPDK environment:15
Build complete [x86_64-native-linuxapp-gcc]
Installation cannot run with T defined and DESTDIR undefined
------------------------------------------------------------------------------RTE_TARGET exported as x86_64-native-linuxapp-gcc
------------------------------------------------------------------------------
  • Load UIO module:18
Unloading any existing DPDK UIO module
Loading uio module
Loading DPDK UIO module
  • Setup HugePage Numbers:22
Removing currently reserved hugepages
Unmounting /mnt/huge and removing directoryInput the number of 2048kB hugepages for each nodeExample: to have 128MB of hugepages available per node in a 2MB huge page system,enter '64' to reserve 64 * 2MB pages on each node
Number of pages for node0: 512
Number of pages for node1: 512
Reserving hugepages
Creating /mnt/huge and mounting as hugetlbfs
  • Show HugePage:29
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
HugePages_Total:    1024
HugePages_Free:     1024
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
  • Show NICs:23
Network devices using DPDK-compatible driver
============================================
<none>Network devices using kernel driver
===================================
0000:00:03.0 'Virtio network device 1000' if=ens3 drv=virtio-pci unused=igb_uio *Active*
0000:00:07.0 'Virtio network device 1000' if=ens7 drv=virtio-pci unused=igb_uio
  • Bind device to IGB UIO module:24
Enter PCI address of device to bind to IGB UIO driver: 0000:00:07.0
OK

测试

$ cat dpdk.rcexport RTE_SDK=/opt/dpdk-18.08
export RTE_TARGET=x86_64-native-linuxapp-gcc
export DPDK_BUILD=${DPDK_DIR}/${RTE_TARGET}
export LD_LIBRARY_PATH=${RTE_SDK}/${RTE_TARGET}/lib:/usr/local/lib:/usr/lib:$ source dpdk.rc
$ cd dpdk-18.08/examples/helloworld
$ make
$ ./build/helloworld
EAL: Detected 4 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: No free hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles !
EAL: PCI device 0000:00:03.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 1af4:1000 net_virtio
EAL: PCI device 0000:00:07.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 1af4:1000 net_virtio
hello from core 1
hello from core 2
hello from core 3
hello from core 0

附 1:Enable pcap

NOTE: libpcap headers are required.

# DPDK   config
$ cd dpdk-18.08/x86_64-native-linuxapp-gcc
$ sed -ri 's,(PMD_PCAP=).*,\1y,' .config
$ sed -ri 's,(PDUMP=).*,\1y,' .config
$ make# Pdmp tool
$ cd dpdk-18.08/app/pdump
$ make && make install

DPDK — 安装部署(Ubuntu 18.04)相关推荐

  1. 机械革命Z2 air 安装 win10 + Ubuntu 18.04 双系统

    机械革命Z2 air 安装 win10 + Ubuntu 18.04 双系统 准备工作 Ubuntu的安装过程 安装Nvidia 1060 max-q 显卡驱动 安装后遇到的问题 Ubuntu 与wi ...

  2. linux安装vnc4server,Ubuntu 18.04安装vnc4server

    ubuntu 18.04自带的vino共享真是难用,gnome卡的一批而且感觉有bug,还是用vnc4server配合xfce来实现轻量级桌面的共享. 首先安装vnc4server和xfce sudo ...

  3. linux ubuntu18.1安装教程,Ubuntu 18.04上Qmmp安装教程

    导读 Qmmp是Ubuntu或其他操作系统的Winamp替代品.它像Winamp一样具有最小的界面.Qmmp是一个开源的.免费的基于qm的多媒体播放器,它不仅适用于Ubuntu,还可以安装在ALT L ...

  4. 安装完Ubuntu 18.04之后要做的几件事

    Ubuntu 18.04是Ubuntu系列最新的长期发布版,需要使用Ubuntu的同学可以安装一下.虽然现在很多软件和工具还没有支持Ubuntu 18.04,但是作为长期支持版,用不了多长时间,大部分 ...

  5. 安装虚拟机Ubuntu 18.04基础配置

    虚拟机配置:任意配置,这里是硬盘20G,内存2G(一般根据电脑配置) 点击player,文件,新建虚拟机.指定磁盘大小为20G.  然后自定义硬件更改内存为2G   自定义分区:硬盘分为三个分区,bo ...

  6. 给联想Thinkpad E480 安装了Ubuntu 18.04 Wifi适配器不可用的处理方法

    本人在Thinkpad E480 安装 18.04 后惊奇的发现,居然找不到WiFi适配器,经过多方搜索是缺少驱动组件,查找多个解决方案,都或多或少有点问题,使用以下操作,完美解决问题,记录一下. s ...

  7. 一看就懂的 安装完ubuntu 18.04后要做的事情和使用教程

    1.更改为阿里云的源 点击软件和更新 点击其他站点 点击选择其他服务器. 因为国内的服务器也有许多,此举选择最适合自己的.点击后等待一会儿 选择后确认并 重新载入即可 2.修改左侧栏图标点击为缩放命令 ...

  8. 软件安装(五):Ubuntu 18.04安装Teamviewer 看一遍就会

    文章目录 下载软件 安装依赖 安装Teamviewer 下载软件 https://www.teamviewer.cn/cn/download/linux/ 找到ubuntu X86 64的下载链接 安 ...

  9. linux ub查看ftp安装,Linux Ubuntu 18.04 安装 FTP服务

    安装 更新数据源 : apt-get update 安装FTP: sudo apt-get install vsftpd 服务 启动FTP服务: sudo service vsftpd start T ...

  10. 股票量化交易入门:AKShare 安装(Ubuntu 18.04)

    概述 AKShare 是基于 Python 的财经数据接口库, 目的是实现对股票.期货.期权.基金.外汇.债券.指数.加密货币等金融产品的基本面数据.实时和历史行情数据.衍生数据从数据采集.数据清洗到 ...

最新文章

  1. 2017暑期挖坑计划(持续更新中~)
  2. 基于MeanShift的目标跟踪算法及实现
  3. 文件,文件夹基本操作
  4. 【网络安全】某安全网关前端JS分析
  5. pro调用python libs_使用WingPro 7 设置Python路径的方法
  6. 禁止MT在公式后面自动添加一个空格
  7. ds1302典型应用原理图_不同类型的光纤激光器,在工业中有哪些典型应用
  8. 进程调度优先级JAVA_进程调度算法之短进程优先(Java)
  9. Barefoot和Stordis在欧洲领导开源网络
  10. oracle11g创建修改删除表
  11. 坦克大战源代码java_Java版坦克大战游戏源码示例
  12. 腾讯微博qq说说备份导出工具_腾讯微博停止运营,赶紧申请备份吧
  13. 计算机主机实际功率,PC动力之源,一起来算算电源真实功率吧!
  14. 关于java中JDBC读取字段属性原理
  15. 快速复制文件,提高复制文件的速度
  16. 华为首款台式机计算机发布,华为首款商用台式机一文读懂:商用PC进入智慧时代...
  17. tlc2543 多通道选择 错误
  18. shell之awk命令详解
  19. Vysor 安装教程
  20. 面对封号潮,跨境收款如何做到不受牵连?

热门文章

  1. Xamarin Android真机测试报错
  2. Xamarin XAML语言教程基本视图ContentViewg构架范围框架
  3. iOS Extension 里的方法不执行
  4. c语言结构体共用体枚举实例程序,10-C语言结构体-共用体-枚举
  5. 科学家发现量子大脑传感器可以跟踪脑电波,这可能对发现脑疾病至关重要
  6. Android Bluetooth模块学习笔记
  7. php sql oracle数据库,PHP、PLSQL连接oracle数据库的方法
  8. 谷歌最新视频抠图术:影子烟雾都能抠,添加水印更顺滑,UP主剪辑利器 | 开源...
  9. 搞技术的OpenAI现在要做投资了,成立1亿美元创业基金,网友:融资花不完了?...
  10. 苹果AirTag遭破解,网友放出“教程”,可重写程序,可能成为恶意跟踪“神器”...