1. 环境准备
配置环境如下:
VMware 12.5.9。
Ubuntu 18.04,64位 (32位系统类似,根据实际情况调整相关编译参数),虚拟3 个网卡,2*2核cpu,2G内存。
DPDK 19.11.1(LTS),这里可以下载到你比较中意的其他版本http://static.dpdk.org/rel/。
GCC 7.5。
2. 修改网卡型号
在VMware虚拟环境跑DPDK需要将虚拟网卡修改为DPDK支持的型号,19.11支持的网卡及其驱动如下,具体请参考官网 doc.dpdk.org/guides-19.11/nics/overview.html。
Feature | a f p a c k e t | a r k | a t l a n t i c | a v f | a v f . . . . . v e c | a v p | a x g b e | b n x 2 x | b n x 2 x v f | b n x t | b o n d i n g | c x g b e | c x g b e v f | d p a a | d p a a 2 | e 1 0 0 0 | e n a | e n e t c | e n i c | f a i l s a f e | f m 1 0 k | f m 1 0 k v f | i 4 0 e | i 4 0 e . . . . v e c | i 4 0 e v f | i 4 0 e v f . . v e c | i f c v f | i g b | i g b v f | i x g b e | i x g b e . . . v e c | i x g b e v f | i x g b e v f . v e c | k n i | l i q u i d i o | m l x 4 | m l x 5 | m v n e t a | m v p p 2 | n e t v s c | n f p | n f p v f | n u l l | o c t e o n t x | p c a p | q e d e | q e d e v f | r i n g | s f c _ e f x | s o f t n i c | s z e d a t a 2 | t a p | t h u n d e r x | v d e v _ n e t v s c | v h o s t | v i r t i o | v i r t i o . . v e c | v m x n e t 3 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Speed capabilities | Y | Y | Y | Y | Y | P | P | Y | Y | Y | P | P | P | P | P | P | Y | Y | P | Y | Y | Y | P | Y | Y | Y | P | Y | Y | Y | Y | Y | Y | P | P | Y | P | P | P | |||||||||||||||||||
Link status | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||||
Link status event | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||||||||||||||||||||||||
Removal event | Y | Y | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Queue status event | Y | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rx interrupt | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||||||||||||||||||||||||||
Lock-free Tx queue | Y | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fast mbuf free | Y | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Free Tx mbuf on demand | Y | Y | Y | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Queue start/stop | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | P | Y | Y | Y | Y | Y | Y | |||||||||||||||||||||||||||
Runtime Rx queue setup | Y | Y | Y | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Runtime Tx queue setup | Y | Y | Y | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
MTU update | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||||||||||||||||||
Jumbo frame | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||||||||||
Scattered Rx | Y | Y | Y</ |