dpdk之路-环境部署

dpdk实验环境部署

1、实验环境说明

vmware workstatioin 12

centos 7.5.1804

dpdk-stable-18.11.1

2、实验步骤

(1)虚拟机安装

  http://vault.centos.org/7.5.1804/isos/x86_64/从链接下载CentOS-7-x86_64-DVD-1804.iso,安装时需要准备3张虚拟网卡,一个为上网用,另外两个是仅主机模式用于dpdk使用。内存我选择分配3G,cpu 2核。

(2)

依赖下载:
yum install -y numactl-devel*x86_64 make gcc libpcap libpcap-devel下载内核头文件: wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/kernel-devel-3.10.0-862.el7.x86_64.rpm安装内核头文件: rpm -ivh kernel-devel-3.10.0-862.el7.x86_64.rpm
内核头文件链接到内核模块中 ln -fs /usr/src/kernels/3.10.0-862.el7.x86_64/ /lib/modules/3.10.0-862.el7.x86_64/build/

 (3)编译

make config T=x86_64-native-linuxapp-gcc
sed -ri 's,(PMD_PCAP=).*,\1y,' build/.config
make

 (4)设置大页内存

echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
mkdir /mnt/huge
mount -t hugetlbfs nodev /mnt/huge

 (5)加载驱动

modprobe uio_pci_generic
modprobe uio
modprobe vfio-pci
insmod build/kmod/igb_uio.ko

 (6)查看网卡bind信息

usertools/dpdk-devbind.py --status

 

   (7)绑定网卡

ifconfig ens34 down 
ifconfig ens35 down./usertools/dpdk-devbind.py --bind=igb_uio  02:02.0 
./usertools/dpdk-devbind.py --bind=igb_uio  02:03.0

 (8)查看绑定信息

ls /dev/uio* -l

 

  (9)编译examples

make -C examples RTE_SDK=$(pwd) RTE_TARGET=build O=$(pwd)/build/examples

 (10)运行helloworld程序

./build/examples/helloworld/build/helloworld

  

bug修正,

进入dpdk-stable-18.11.1/
vim kernel/linux/igb_uio/igb_uio.c
将pci_intx_mask_supported(dev)代码修改为如下的 pci_intx_mask_supported(dev)||true

修改后重新执行
make
modprobe uio_pci_generic
modprobe uio
modprobe vfio-pci
rmmod igb_uio.ko
insmod build/kmod/igb_uio.ko
usertools/dpdk-devbind.py --status
./usertools/dpdk-devbind.py --bind=igb_uio  02:02.0 
./usertools/dpdk-devbind.py --bind=igb_uio  02:03.0
./build/examples/helloworld/build/helloworld

 

(11)testpmd测试程序

./build/app/testpmd -l 0-1 -n 2 -- -i

  运行结果

[root@localhost dpdk-stable-18.11.1]# ./build/app/testpmd -l 0-1 -n 2 -- -i
EAL: Detected 2 lcore(s)
EAL: Detected 1 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: VFIO support initialized
EAL: PCI device 0000:02:01.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:100f net_e1000_em
EAL: PCI device 0000:02:02.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:100f net_e1000_em
EAL: PCI device 0000:02:03.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:100f net_e1000_em
Interactive-mode selected
testpmd: create a new mbuf pool <mbuf_pool_socket_0>: n=155456, size=2176, socket=0
testpmd: preferred mempool ops selected: ring_mp_mc
Configuring Port 0 (socket 0)
Port 0: 00:0C:29:D3:37:3B
Configuring Port 1 (socket 0)
Port 1: 00:0C:29:D3:37:45
Checking link statuses...
Done
testpmd> start                                         //start后,等个10s,再执行stop
io packet forwarding - ports=2 - cores=1 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 1 (socket 0) forwards packets on 2 streams:RX P=0/Q=0 (socket 0) -> TX P=1/Q=0 (socket 0) peer=02:00:00:00:00:01RX P=1/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) peer=02:00:00:00:00:00io packet forwarding packets/burst=32nb forwarding cores=1 - nb forwarding ports=2port 0: RX queue number: 1 Tx queue number: 1Rx offloads=0x0 Tx offloads=0x0RX queue: 0RX desc=256 - RX free threshold=0RX threshold registers: pthresh=0 hthresh=0  wthresh=0RX Offloads=0x0TX queue: 0TX desc=256 - TX free threshold=0TX threshold registers: pthresh=0 hthresh=0  wthresh=0TX offloads=0x0 - TX RS bit threshold=0port 1: RX queue number: 1 Tx queue number: 1Rx offloads=0x0 Tx offloads=0x0RX queue: 0RX desc=256 - RX free threshold=0RX threshold registers: pthresh=0 hthresh=0  wthresh=0RX Offloads=0x0TX queue: 0TX desc=256 - TX free threshold=0TX threshold registers: pthresh=0 hthresh=0  wthresh=0TX offloads=0x0 - TX RS bit threshold=0
testpmd> stop
Telling cores to stop...
Waiting for lcores to finish...---------------------- Forward statistics for port 0  ----------------------RX-packets: 3087933        RX-dropped: 0             RX-total: 3087933TX-packets: 3273024        TX-dropped: 0             TX-total: 3273024-------------------------------------------------------------------------------------------------- Forward statistics for port 1  ----------------------RX-packets: 3273028        RX-dropped: 0             RX-total: 3273028TX-packets: 3087929        TX-dropped: 0             TX-total: 3087929----------------------------------------------------------------------------+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++RX-packets: 6360961        RX-dropped: 0             RX-total: 6360961TX-packets: 6360953        TX-dropped: 0             TX-total: 6360953++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Done.
testpmd> quitStopping port 0...
Stopping ports...
DoneStopping port 1...
Stopping ports...
DoneShutting down port 0...
Closing ports...
DoneShutting down port 1...
Closing ports...
DoneBye...

  

 

 

 

转载于:https://www.cnblogs.com/grglym/p/10780348.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/362944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于知识图谱的医疗诊断系统论文

本作品禁止任何人/企业申请专利&#xff0c;禁止任何人使用本作品参加任何比赛或作为毕业设计&#xff0c;如使用本作品源码进行商业用途务必联系作者。 一.科学性 1.研究意义 信息科技经过 60 余年的发展&#xff0c;已经普及到社会生活的每一个角落。随着信息技术在国家治理、…

华为云(ECS)-linux服务器中-Ubuntu图形界面安装-解决root登录受限-VNCviwer/Teamviwer远程访问教程...

安装ubuntu-desktop 1.更新软件库 apt-get update2.升级软件 apt-get upgrade3.安装桌面 apt-get install ubuntu-desktop 解决root登录受限 华为云登录进去是guest用户&#xff0c;不能选择登录用户且不需要密码就即可登录。 登录进去会如下警告信息&#xff1a; 首先下载…

Java EE并发API教程

这是一个示例章节&#xff0c;摘自Francesco Marchioni编辑的WildFly上的实用Java EE 7开发 。 本章讨论了新的Java EE并发API&#xff08;JSR 236&#xff09; &#xff0c;它概述了使用一组托管资源在Java EE容器上并行执行任务的标准方法。 为了描述如何在您的应用程序中使…

经桥科技与湖南文化艺术产业集团合力打造“网乐潇湘”

签约仪式现场 签约仪式现场 签约仪式现场 经网1月7日讯(记者 陈飞 曹亮) 湖南经桥网络科技有限公司与湖南文化艺术产业集团“网乐潇湘”项目签约仪式隆重举行。经桥科技董事长姜志强、湖南文化艺术产业集团总经理陈介辉等领导出席此次签约仪式。 经桥科技与湖南文化艺术产业集…

带有Angular JS的Java EE 7 –第1部分

今天的帖子将向您展示如何使用Java EE 7和Angular JS构建非常简单的应用程序。 在去那里之前&#xff0c;让我告诉您一个简短的故事&#xff1a; 我不得不承认&#xff0c;我从来都不是Java语言的忠实拥护者&#xff0c;但是我仍然记得我第一次使用它。 我不记得确切的年份&am…

深入理解CSS定位中的堆叠z-index

前面的话 对于所有定位&#xff0c;最后都不免遇到两个元素试图放在同一位置上的情况。显然&#xff0c;其中一个必须盖住另一个。但&#xff0c;如何控制哪个元素放在上层&#xff0c;这就引入了属性z-index 定义 利用z-index&#xff0c;可以改变元素相互覆盖的顺序。这个属性…

初识服务发现及Consul框架的简单使用

初识服务发现及Consul框架的简单使用 1.什么是服务发现&#xff1f; 服务发现组件记录了&#xff08;大规模&#xff09;分布式系统中所有服务的信息&#xff0c;人们或者其它服务可以据此找到这些服务。 DNS 就是一个简单的例子。 当然&#xff0c;复杂系统的服务发现组件要提…

进程间的通信方式

5&#xff0c;进程间通信方式____ &#xff0c;____ &#xff0c;____ &#xff0c;____ &#xff0c;____ &#xff0c;_____。 管道 消息队列 共享内存 信号 信号量 套接字 管道通信&#xff1a;实质是管道文件操作&#xff0c;分为有名管道和 无名管道两种。 无名管…

Spring MVC中的验证组

可以通过groups属性将Bean验证中的验证约束添加到一个或多个组。 这使您可以限制在验证期间应用的约束集。 在某些小组应先于其他小组进行验证&#xff08;例如在向导中&#xff09;的情况下&#xff0c;这可能很方便。 从Spring MVC 3.1开始&#xff0c;可以通过org.springfra…

简而言之,JUnit:Hello World

对于Java世界中的开发人员而言&#xff0c; JUnit似乎是最受欢迎的测试工具 。 因此&#xff0c;难怪就此主题已经写了一些好书 。 但是&#xff0c;通过以顾问为生&#xff0c;我仍然经常遇到程序员&#xff0c;他们至多对工具及其正确用法都不了解。 因此&#xff0c;我想到…

命令设计模式的应用

嗨&#xff0c;您好&#xff01; 今天&#xff0c;我将与您分享一种非常出色的编程设计模式。 它有很多用法&#xff0c;是我的最爱之一。 编程设计模式命令具有多种用例。 在这篇文章中&#xff0c;我们将看到如何实现现实世界中的某些东西。 我们将使用电子汽车钥匙来打开&…

adodb.stream对象的方法/属性

cancel 方法 使用方法如下 object.cancel 说明&#xff1a;取消执行挂起的异步 execute 或 open 方法的调用。 close 方法 使用方法如下 object.close &#xff1a;关闭对像 copyto 方法 使用方法如下 object.copyto(deststream,[charnumber]) 说明&#xff1a;将对像的数据复制…

MongoDB非关系型数据库开发手册

一&#xff1a;NoSql数据库 什么是NoSQL? NoSQL&#xff0c;指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写&#xff0c;是对不同于传统的关系型数据库的数据库管理系统的统称。 NoSQL用于超大规模数据的存储。&#xff08;例如谷歌或Facebook每天为他们的用户收…

解决DataGridView绑定List后不能排序的问题

阅读全文并下载例子 &#xff1a;http://www.sufeinet.com/forum.php?modviewthread&tid190 以前不都是用table直接绑定DataGridView的&#xff0c;没有出现过不能排序的问题&#xff0c;初试List结果发现不管怎么样都不能实现排序的功能&#xff0c;有朋友说 DataGridVie…

maven编译的时候排除junit测试类

maven编译的时候排除junit测试类 maven项目中使用junit进行单元测试&#xff0c;在进行编译的时候&#xff0c;可以通过2种方式排除test测试类的编译。 有2种方式 &#xff1a; 使用命令的时候带上参数 mvn install -Dmaven.test.skiptrue 在pom.xml里面配置<plugins><…

生成器设计模式的应用

嗨&#xff0c;您好&#xff01; 今天&#xff0c;我将分享我制作的全新设计模式系列的第一个。 构建器设计模式是开发严肃的应用程序时非常有用且通用的模式。 在这篇文章中&#xff0c;我将提供一个很小的构建器模式框架&#xff0c;因此您随时可以回到这里并使用它。 助记…

知识整理2019清北学堂提高储备D5

今天主讲图论。 前言&#xff1a;图的定义&#xff1a;图G是一个有序二元组(V,E)&#xff0c;其中V称为顶集(Vertices Set)&#xff0c;E称为边集(Edges set)&#xff0c;E与V不相交。它们亦可写成V(G)和E(G)。 一、图的存储&#xff1a; 1、邻接矩阵&#xff1a; 2、邻接表&am…

CSS之文字溢出处理

1.单行文本之三剑客<p>刘诗诗&#xff0c;原名刘诗施&#xff0c;1987年3月10日出生于北京市&#xff0c;中国内地影视女演员、影视出品人。</p>p{border: 1px solid red;width: 400px;height: 40px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis…

GA,RC,Alpha,Beta,Final等软件版本名词释义

对应上图的表格如下&#xff1a; 名词&#xff01;说明Alphaα是希腊字母的第一个&#xff0c;表示最早的版本&#xff0c;内部测试版&#xff0c;一般不向外部发布&#xff0c;bug会比较多&#xff0c;功能也不全&#xff0c;一般只有测试人员使用。Betaβ是希腊字母的第二个&…

HawtIO在JBoss EAP上(第二部分)

我刚刚发布了一篇关于在JBoss Wildfly 8.1上运行HawtIO的条目 。 从那篇文章中&#xff0c;您将了解HawtIO多么出色 &#xff0c;以及它必须具备的所有 出色 插件&#xff0c;才能从单个仪表板管理基于JVM的技术……好吧…… hawt ……。 但是&#xff0c;出于上一篇文章中概述…