DPDK
一、DPDK介绍
DPDK 是英文 Data Plane Development Kit 的简写,中文的意思为数据平面开发套件,DPDK的主要目的是在数据平面应用中为快速的数据包处理提供一个简单而完善的架构。在理解此工具集之后,开发人员可以以此为基础进行新的原型设计,或简单地为我所用
二、UIO
UIO(Userspace I/O)是运行在用户空间的I/O技术。Linux系统中一般的驱动设备都是运行在内核空间,而在用户空间用应用程序调用即可,而UIO则是将驱动的很少一部分运行在内核空间,而在用户空间实现驱动的绝大多数功能!使用UIO可以避免设备的驱动程序需要随着内核的更新而更新的问题。 UIO驱动在Linux内核版本2.6.18及以上的版本中被引入。使用UIO驱动可以对硬件进行快速的数据传输和处理,并且可以通过用户空间的应用程序来控制设备
三、IGB_UIO
igb_uio.ko 是UIO的一个实例化,主要使用在DPDK项目上

四、DPDK的环境要求
1.多队列网卡
1)如何查看网卡是否支持多队列
cat /proc/interrupts | grep eth0
如果只有一条结果则不是多队列网卡,如果支持如下图:

2)虚拟机配置多队列网卡
找到虚拟机的vmx文件,该文件记录虚拟机一切信息,包括网卡信息,按照下图修改
