DPDK学习(测试环境)

来源:互联网 发布:可以演戏的软件 编辑:程序博客网 时间:2024/05/21 03:28

测试环境使用VMware Fusion虚拟机,虚拟机主要配置:一个双核CPU、两块网卡、操作系统为CentOS 7
ifconfig可以看到两块网卡(ens33、ens37)
这里写图片描述

编译DPDK

执行/root/dpdk-17.08/usertools/dpdk-setup.sh后可以看到下图
这里写图片描述

编译中可能遇到的问题及解决方法

问题 解决办法 虚拟机不能联网 vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改ONBOOT:no改为yes
service network start 下载DPDK yum -y install wget
wget http://fast.dpdk.org/rel/dpdk-17.08.tar.gz 找不到.config_tmp文件 vi .config_tmp 找不到cc命令 yum -y install gcc 找不到numa.h文件 yum -y install numactl-devel 找不到build文件 yum -y install kernel-devel
cd /lib/modules/3.10.0-514.e17.x86_64
rm -rf build
ln -s /usr/src/kernels/3.10.0-514.e17.x86_64/ build DESTDIR未定义 vi /root/dpdk-17.08/usertools/dpdk-setup.sh
修改make install命令:增加DESTDIR=/root/dpdk EAL: Error reading from file descriptor vi root/dpdk-17.08/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
注释以下3行:
if (pci_intx_mask_supported(dev)) {
}
dev_notice(&dev->dev, “PCI INTX mask not supported\n”);

编译成功后可以看到下图
这里写图片描述

主要步骤

输入 操作 13 编译DPDK 16 插入igb_uio 20 设置大页,输入1024 22 绑定网卡,输入02:01.0、02:05.0(双网卡) 26 testpmd测试,输入0x03(双核)

测试testpmd

启/停:start/stop
这里写图片描述

此时ifconfig看不到两块网卡了,因为两块网卡不归ixgbe驱动管理了,而是归igb_uio驱动管理
这里写图片描述

运行helloworld

在dpdk-17.08目录下执行以下命令

步骤 命令 编译DPDK make install T=x86_64-native-linuxapp-gcc DESTDIR=/root/dpdk 插入igb_uio modprobe uio
insmod x86_64-native-linuxapp-gcc/kmod/igb_uio.ko 设置大页 echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages 绑定网卡 python usertools/dpdk-devbind.py –bind=igb_uio 02:01.0
python usertools/dpdk-devbind.py –bind=igb_uio 02:05.0 设置环境变量 export RTE_SDK=/root/dpdk-17.08
export RTE_TARGET=x86_64-native-linuxapp-gcc 运行helloworld cd examples/helloworld
make
./build/helloworld -c 3 -n 2

运行成功后可以看到下图
这里写图片描述

参考资料

http://www.cnblogs.com/zzqcn/p/4024205.html
http://dpdk.org/doc/guides/linux_gsg/sys_reqs.html#compilation-of-the-dpdk

原创粉丝点击