当我们指定网卡给DPDK使用后,Linux系统就失去了对网卡的管理,由DPDK完全接管。 因此这里所说的设备管理,主要是指对网卡的管理。
网卡驱动模型一般包含三层,即,PCI总线设备、网卡设备以及网卡设备的私有数据结构,
即将设备的共性一层层的抽象,PCI总线设备包含网卡设备,网卡设备又包含其私有数据结构。
在DPDK中,首先会注册设备驱动,然后查找当前系统有哪些PCI设备,并通过PCI_ID为PCI设备找到对应的驱动,最后调用驱动初始化设备。
http://ju.outofmemory.cn/entry/182123

查询dpdk 支持的网卡
http://www.dpdk.org/doc/nics

常见的有
Broadcom

bnxt (NetXtreme-C, NetXtreme-E BCM574XX family , StrataGX)

Intel

e1000 (82540, 82545, 82546)

e1000e (82571, 82572, 82573, 82574, 82583, ICH8, ICH9, ICH10, PCH, PCH2, I217, I218, I219)

igb (82575, 82576, 82580, I210, I211, I350, I354, DH89xx)

ixgbe (82598, 82599, X520, X540, X550)

i40e (X710, XL710, X722)

fm10k (FM10420)

Note: The drivers e1000 and e1000e are also called em. The drivers em and igb are sometimes grouped in e1000 family.

半虚拟化

virtio-net (kvm-qemu)

vmxnet3 (VMware ESXi)

xenvirt (Xen)

具体网卡具体支持哪些功能,
在这里查询
http://dpdk.org/doc/guides/nics/overview.html

Feature b n x t i 4 0 e i x g b e v m x n e t 3
Speed capabilities Y Y P
Link status Y Y Y Y
Link status event Y Y Y
Removal event
Queue status event
Rx interrupt Y Y Y
Lock-free Tx queue
Fast mbuf free
Free Tx mbuf on demand
Queue start/stop Y Y Y Y
MTU update Y Y Y
Jumbo frame Y Y Y Y
Scattered Rx Y Y
LRO Y Y Y
TSO Y Y Y Y
Promiscuous mode Y Y Y Y
Allmulticast mode Y Y Y Y
Unicast MAC filter Y Y Y Y
Multicast MAC filter Y Y
RSS hash Y Y Y Y
RSS key update Y Y Y
RSS reta update Y Y Y
VMDq Y Y Y
SR-IOV Y Y Y
DCB Y Y
VLAN filter Y Y Y Y
Ethertype filter Y Y Y
N-tuple filter Y Y
SYN filter Y
Tunnel filter Y Y
Flexible filter
Hash filter Y
Flow director Y Y
Flow control Y Y Y
Flow API Y Y Y
Rate limitation Y
Traffic mirroring Y Y
Inline crypto Y
CRC offload Y Y
VLAN offload Y Y Y Y
QinQ offload Y Y
L3 checksum offload Y Y Y
L4 checksum offload Y Y Y Y
Timestamp offload
MACsec offload Y
Inner L3 checksum Y Y Y
Inner L4 checksum Y Y Y
Packet type parsing Y Y Y Y
Timesync Y Y
Rx descriptor status Y Y Y
Tx descriptor status Y Y Y
Basic stats Y Y Y Y
Extended stats Y Y Y Y
Stats per queue Y Y
FW version Y Y Y
EEPROM dump Y Y
Registers dump Y
LED Y
Multiprocess aware Y Y
BSD nic_uio Y Y
Linux UIO Y Y Y Y
Linux VFIO Y Y Y Y
Other kdrv
ARMv7
ARMv8 Y Y
Power8 Y
x86-32 Y Y Y
x86-64 Y Y Y Y
Usage doc Y