DPDK virtio-user】的更多相关文章

什么是Vhost/Virtio Vhost/Virtio是一种半虚拟化的设备抽象接口规范, 在Qemu和KVM中的得到了广泛的应用,在客户机操作系统中实现的前端驱动程序一般直接叫Virtio, 在宿主机实现的后端驱动程序称为Vhost.与宿主机纯软件模拟I/O相比,virtio可以获得很好的性能,在数据中心中得到了广泛的应用.Linux kernel中已经提供了相应的设备驱动,分别是virtio-net,以及vhost-net,DPDK项目为了提高数据吞吐性能,相对应的,提供了Virtio的用户…
VNF网络性能提升解决方案及实践 2016年7月 作者:    王智民 贡献者:     创建时间:    2016-7-20 稳定程度:    初稿 修改历史 版本 日期 修订人 说明 1.0 2016-7-20 王智民 初稿                 目录 1    引言    1 1.1    编写目的    1 1.2    背景    1 2    SDN    1 2.1    SDN核心思想    1 2.2    网络虚拟化    4 3    NFV    7 3.1  …
搭建实验环境: troubleshoot 第一步加载驱动 第二步切换驱动 使用了所有qemu支持的卡 [tong@T7:~/VM/dpdk] % cat start.sh sudo qemu-system-x86_64 -nographic -vnc -enable-kvm \ -m 2G -cpu Nehalem -smp cores=,threads=,sockets= \ -numa node,mem=1G,cpus=-,nodeid= \ -numa node,mem=1G,cpus=-…
对例子IP Fragmentation的熟悉,使用,以及源码分析. 功能: 该例子的功能有二: 一: 将IP分片? 二: 根据路由表,做包转发. 路由表如下: IP_FRAG: Socket : adding route (port ) IP_FRAG: Socket : adding route (port ) IP_FRAG: Socket : adding route (port ) IP_FRAG: Socket : adding route (port ) IP_FRAG: Socke…
序: 做DPDK例子的时候,发现一些例子需要多队列,而我当前所使用的虚拟机并不是多队列的.关于我当前虚拟机的状态,可以见前文. 所以,我的需求就是,让虚拟机里的网卡,有多队列! 参考: http://www.linux-kvm.org/page/Multiqueue https://gist.github.com/sibiaoluo/11133723 原理上没大看懂,半懂不懂的.目的优先. 查看: 如何查看网卡是否支持多队列: 红色的行就代表支持了. MSI-X就是支持多队列的意思,MSI是什么…
续前节, 测试小程序 1. 想编译测试程序首先需要设置两个环境变量,为什么呢,因为测试程序的Makefile里用了... rpm装了打包好的devel包,这个rpm也会自带这两个环境变量.就是说写第三方程序的时候,习惯上,约定了这两个环境变量. [root@dpdk tools]# cat ~/env.sh export RTE_SDK=/root/dpdk-16.07 export RTE_TARGET=x86_64-native-linuxapp-gcc [root@dpdk tools]#…
首先,如果你更关心原理和知识,请读读这个 http://chuansong.me/n/2186528 (值得细细的逐字读). 在<<深入浅出dpdk>>中提到,vhost-user(用户态驱动)配合前端virtio(这就是传说中的半虚拟化)性能最佳. 我们的目标是:qemu如何使用vhost-user 一,man qemu 其中涉及到的一个名称MSIX(https://en.wikipedia.org/wiki/Message_Signaled_Interrupts)(没细看,简单…
续前节.切好继续: 一,文档里提到uio_pci_generic, igb_uio, vfio_pci三个内核模块,完全搞不懂,以及dpdk-devbind.py用来查看网卡状态,我得到了下边的输出: [root@dpdk tools]# ./dpdk-devbind.py --status Network devices using DPDK-compatible driver ============================================ <none> Netwo…
前提:已读了这本书<<深入浅出dpdk(朱清河等著)>>. 目标:读官方文档,同时跟着文档进行安装编译等工作. http://dpdk.org/doc/guides/index.html 环境:thinkpadT450 + archlinux + kvm + CentOS 7(逐层自下而上的关系) KVM参数: sudo qemu-system-x86_64 -nographic -enable-kvm -numa node -numa node -drive file=disk.…
转载:http://blog.csdn.net/quqi99/article/details/47321023 X86体系早期没有在硬件设计上对虚拟化提供支持,因此虚拟化完全通过软件实现.一个典型的做法是通过优先级压缩(Ring Compression)和二进制代码翻译(Binary Translation)相结合,VMM在特权级ring 0, Guest操作系统在非特权级ring 1, Guest应用程序在ring 3.由于Guest操作系统工作在非特权级ring 1中,这样当它执行特权指令时…