dpdk基础教程——环境搭建篇

在开始正式搭建环境之前,我们要做些准备工作。
0.1和0.2都是可选配置,也就是说可配可不配。
配置上程序的处理能力会增加,不配置也不会出错滴。
0.1 Centos7.2使用1G大页面内存(可选)
https://blog.csdn.net/haolipengzhanshen/article/details/77922656

0.2 centos 7配置系统的软中断绑定(可选)
https://blog.csdn.net/haolipengzhanshen/article/details/77922820

1 根据实际环境来编译

公司服务器环境是x86_64-native-linuxapp-gcc,这里选择[13]

2 加载IGB_UIO驱动

这里选择[16]

3 设置大页内存

查看系统是否支持NUMA的命令如下:
grep -i numa /var/log/dmesg

一般设置大页内存设置的值要超过512M,如果内存允许的话可以设置的更大点(比如1024M).
大页内存的规格分为两种,一种是2M,一种是1G,后者的配置需要修改grub内核参数,详见相关博客。

4 绑定网卡到IGB_UIO 模块上

选择[22] 后,输入待绑定的pci地址

图中0000:02:00.1 是我绑定到dpdk驱动上的pci地址
注意事项:在进行绑定之前,确保网口是down状态的,否则会绑定失败.

5 列举大页内存信息

6 卸载选项

至此,dpdk的环境配置已经全部完成.

程序采用numa架构,需要把多个网卡均分到不同的卡槽上
首先要识别每个卡槽是socket0还是socket1

识别方法
1.ethtool -i ethx
查看网口的pci
2.使用cat /sys/class/pci_bus/0000:xx/device/numa_node 命令查看相关PCI ID的numa 0为CPU0 , 1为CPU1
备注:xx处填写的是步骤1的pci号

你可能感兴趣的:(DPDK入门教程)