搭建实验环境:

troubleshoot

第一步加载驱动

第二步切换驱动

使用了所有qemu支持的卡

[tong@T7:~/VM/dpdk]
% cat start.sh
sudo qemu-system-x86_64 -nographic -vnc 127.0.0.1: -enable-kvm \
-m 2G -cpu Nehalem -smp cores=,threads=,sockets= \
-numa node,mem=1G,cpus=-,nodeid= \
-numa node,mem=1G,cpus=-,nodeid= \
-drive file=disk.img,if=virtio \
-net nic,vlan=,model=virtio,macaddr='00:00:00:01:00:00' \
-net nic,vlan=,model=ne2k_pci,macaddr='00:00:00:01:00:01' \
-net nic,vlan=,model=i82551,macaddr='00:00:00:01:00:02' \
-net nic,vlan=,model=i82557b,macaddr='00:00:00:01:00:03' \
-net nic,vlan=,model=i82559er,macaddr='00:00:00:01:00:04' \
-net nic,vlan=,model=rtl8139,macaddr='00:00:00:01:00:05' \
-net nic,vlan=,model=e1000,macaddr='00:00:00:01:00:06' \
-net nic,vlan=,model=pcnet,macaddr='00:00:00:01:00:07' \
-net tap,vlan=,ifname=tap-dpdk-control \
-net tap,vlan=,ifname=tap-dpdk-,script=no,downscript=no \
-net tap,vlan=,ifname=tap-dpdk-,script=no,downscript=no &
# -device vfio-pci,host='0000:00:19.0' \
#ne2k_pci,i82551,i82557b,i82559er,rtl8139,e1000,pcnet,virtio
[tong@T7:~/VM/dpdk]

只有virtio是对队列的

[root@dpdk ~]# lspci -vv |grep -E '^00|MSI'
:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev )
:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] (prog-if [Master])
:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev )
:02.0 VGA compatible controller: Device : (rev ) (prog-if [VGA controller])
:03.0 Ethernet controller: Red Hat, Inc Virtio network device
Capabilities: [] MSI-X: Enable+ Count= Masked-
:04.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-(AS)
:05.0 Ethernet controller: Intel Corporation 8255xER/82551IT Fast Ethernet Controller (rev 0f)
:06.0 Ethernet controller: Intel Corporation //// Ethernet Pro (rev )
:07.0 Ethernet controller: Intel Corporation 8255xER/82551IT Fast Ethernet Controller (rev )
:08.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-/8101L/ PCI Fast Ethernet Adapter (rev )
:09.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev )
:0a. Ethernet controller: Advanced Micro Devices, Inc. [AMD] 79c970 [PCnet32 LANCE] (rev )
:0b. SCSI storage controller: Red Hat, Inc Virtio block device
Capabilities: [] MSI-X: Enable+ Count= Masked-
[root@dpdk ~]#

xxx

[root@dpdk tools]# ./dpdk-devbind.py -b igb_uio eth1
[root@dpdk tools]# ./dpdk-devbind.py -b igb_uio eth2
[root@dpdk tools]# ./dpdk-devbind.py -s Network devices using DPDK-compatible driver
============================================
::04.0 'Virtio network device' drv=igb_uio unused=
::05.0 'Virtio network device' drv=igb_uio unused= Network devices using kernel driver
===================================
::03.0 'Virtio network device' if=eth0 drv=virtio-pci unused=igb_uio *Active* Other network devices
=====================
<none>
[root@dpdk tools]#

qemu的所有nic都可以使用uio

[root@dpdk tools]# ./dpdk-devbind.py -s

Network devices using DPDK-compatible driver
============================================
<none> Network devices using kernel driver
===================================
::03.0 'Virtio network device' if=eth0 drv=virtio-pci unused=igb_uio *Active*
::08.0 'RTL-8100/8101L/8139 PCI Fast Ethernet Adapter' if=ens8 drv=8139cp unused=igb_uio
::09.0 '82540EM Gigabit Ethernet Controller' if=ens9 drv=e1000 unused=igb_uio Other network devices
=====================
::04.0 'RTL-8029(AS)' unused=igb_uio
::05.0 '8255xER/82551IT Fast Ethernet Controller' unused=igb_uio
::06.0 '82557/8/9/0/1 Ethernet Pro 100' unused=igb_uio
::07.0 '8255xER/82551IT Fast Ethernet Controller' unused=igb_uio
::0a. '79c970 [PCnet32 LANCE]' unused=igb_uio
[root@dpdk tools]#

[dpdk] 熟悉SDK与初步使用 (一)(qemu搭建实验环境)的更多相关文章

  1. [dpdk] 熟悉SDK与初步使用 (二)(skeleton源码分析)

    接续前节:[dpdk] 熟悉SDK与初步使用 (一)(qemu搭建实验环境) 程序逻辑: 运行参数: 关键API: 入口函数: int rte_eal_init(int argc, char **ar ...

  2. [dpdk] 熟悉SDK与初步使用 (四)(L3 Forwarding源码分析)

    接续前节:[dpdk] 熟悉SDK与初步使用 (三)(IP Fragmentation源码分析) 前文中的最后一个问题,搁置,并没有找到答案.所以继续阅读其他例子的代码,想必定能在其他位置看到答案. ...

  3. [dpdk] 熟悉SDK与初步使用 (三)(IP Fragmentation源码分析)

    对例子IP Fragmentation的熟悉,使用,以及源码分析. 功能: 该例子的功能有二: 一: 将IP分片? 二: 根据路由表,做包转发. 路由表如下: IP_FRAG: Socket : ad ...

  4. OVS + dpdk 安装与实验环境配置

    ***DPDK datapath的OVS的安装与实验环境配置 首先肯定是DPDK的安装       0:安装必要的工具            make            gcc           ...

  5. 使用 qemu 搭建内核开发环境

    本文主要介绍在 MacOS 上使用 qemu 搭建 Linux Kernel 的开发环境.(在开始之前需要注意的是,本文中的 Linux 开发环境是一个远程服务器,而 qemu 被安装在本地的 Mac ...

  6. 理解 Linux 网络栈(3):QEMU/KVM + VxLAN 环境下的 Segmentation Offloading 技术(发送端)

    本系列文章总结 Linux 网络栈,包括: (1)Linux 网络协议栈总结 (2)非虚拟化Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO (3)QEMU/KVM + Vx ...

  7. 用Qemu搭建aarch32学习环境

    作者信息 作者: 彭东林 邮箱: pengdonglin137@163.com QQ: 405728433 软件平台 主机: Ubuntu14.04 64位版本 模拟器:Qemu-2.8.0 Linu ...

  8. 用Qemu搭建x86_64学习环境

    作者信息 作者:彭东林 邮箱:pengdonglin137@163.com QQ:405728433 软件平台 主机: Ubuntu14.04 64位版本 模拟器:Qemu-2.8.0 Linux内核 ...

  9. 用Qemu搭建x86学习环境

    作者信息 作者:彭东林 邮箱:pengdonglin137@163.com QQ:405728433 软件平台 主机: Ubuntu14.04 64位版本 模拟器:Qemu-2.8.0 Linux内核 ...

随机推荐

  1. JavaScript——理解闭包及作用

    js是一个函数级语言,变量的作用域是: 内部可以访问内部,内部可以访问外部,外部不能访问内部. 如果要在外部,访问函数内部的变量,就要用到闭包.闭包就是指访问到了本不该访问的变量. 闭包作用1:实现封 ...

  2. jstl core 库 之 out set remove

    jstl 核心库 out标签 out:输出的标签 * value :输出的值 * default :默认值 * escapeXml :是否转移 默认为true(转义) 代码: <!-- 输出常量 ...

  3. 当你在浏览器地址栏输入一个URL后回车,将会发生的事情?

    原文:http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/ 作为一个软件开发者,你一定会对网络应用如何工作有 ...

  4. InnoDB全文索引:N-gram Parser【转】

    本文来自:http://mysqlserverteam.com/innodb%E5%85%A8%E6%96%87%E7%B4%A2%E5%BC%95%EF%BC%9An-gram-parser/ In ...

  5. OC编程之道-创建对象之原型模式

    一 什么是原型模式?(what) 有些对象的创建代价过大或过于复杂,要是可以重建相同的对象并作轻微的改动,事情会容易的多(效率变高).典型的例子是复制组合结构(eg树形结构),从零开始构建一个树型组合 ...

  6. SVN上传文件提示磁盘空间不足的问题

    SVN上传文件大于100M,提示:Commit failed (details follow):While preparing 'E:\AFCData\tjsc20db_table.sql' for ...

  7. iOS 英文学习

    deprecated 废弃的 NS_DEPRECATED_IOS(2_0, 7_0)2.0开始使用,7.0废弃 NS_AVAILABLE_IOS(7_0) 7.0之后有效 Indicator 指示器 ...

  8. ASP.NET知识总结(4.请求管道中的19个事件)

    (1)BeginRequest: 开始处理请求 (2)AuthenticateRequest授权验证请求,获取用户授权信息 (3):PostAuthenticateRequest获取成功 (4): A ...

  9. python基础之文件操作

    对于文件操作中最简单的操作就是使用print函数将文件输出到屏幕中,但是这种操作并不能是文件保存到磁盘中去,如果下调用该数据还的重新输入等. 而在python中提供了必要的函数和方法进行默认情况下的文 ...

  10. Gollum 安装笔记

    环境Ubuntu server 14.04 sudo apt-get install ruby1.9.1 ruby1.9.1-dev make zlib1g-dev libicu-dev build- ...