学习DPDK的相关知识,使用《深入浅出DPDK》这一本书和DPDK官网的document足够了。
安装
- 从DPDK官网下载LTS版本
- 安装依赖(主要是gcc\numa-dev\kernel-dev)
- 解压DPDK源码后进入tool文件夹下,执行对应安装的sh脚本,根据指示编译源码、安装驱动、绑定PCI网卡设备、配置大页
- export RTE_SDK和RTE_TARGET
- 根据examples文件夹下的程序对应修改即可
代码使用注意事项
- 要理解mempool的概念(大页内存的使用)和rte_mbuf的申请、回收
- 要理解调用EAL做argv解析和examples给出的网卡初始化过程中的一系列事宜: 分配Queue给Rx、分配TxBuffer,设置端口性质等。可以参考博文
- 定义结构体的时候, 要通过attribute((packed)) 来说明结构体不进行Cache对齐,否则gcc优化会自动进行CacheLine对齐为4B整数倍。相关说明参考博文
If my article helps you, I will be very happy.
Alipay