如何技术不去手动做练习实践,就总有一种无从下手的感觉
文末附上小编总结的DPDK学习路线图以及我的学习资料。
0:准备环境并启动,使用dpdk接管其中一个网卡。
ubuntu虚拟机环境配置多队列网卡,安装dpdk。
在环境已经配置ok的前提下,每次重启环境后需要重新配置环境变量,并且绑定网卡。
export RTE_SDK=/home/hlp/dpdk/dpdk-stable-19.08.2
export RTE_TARGET=x86_64-native-linux-gcc
ifconfig #注意保存要绑定的网卡的ip和mac地址,理解是mac地址比较重要
#这里我dpdk要绑定eth0网卡,其对应的ip和mac为 192.168.50.59和00-0c-29-4d-f0-d3
sudo ifconfig eth0 down #关闭要绑定的网卡
./usertools/dpdk-setup.sh #通过脚本绑定网卡,使dpdk接管网卡数据。 这里用49
1:测试dpdk接管网卡数据,测试对udp数据的接收。
1:描述预计准备
通过第0步,dpdk已经接管了网卡,个人理解是这里与mac地址。==》dpdk接管网卡
获取老师提供的已有的基于dpdk实现的测试接收功能的demo代码。==》准备demo
demo实现原理 ==》通过dpdk提供的接口获取到网卡数据,对数据进行过滤,观察udp数据
参考dpdk examples目录,用makefile进行编译。 ===》编译测试代码,使用make命令
查看生成的可执行文件,目录如下:
root@ubuntu:/home/hlp/dpdk/dpdk-stable-19.08.2/examples/01_recv# tree
├── build #这个目录都是编译生成的相关文件
│ ├── app
│ │ ├── dpdk_recv
│ │ └── dpdk_recv.map
│ ├── dpdk_recv #生成的可执行文件
│ ├── dpdk_recv.map
│ ├── _install
│ ├── _postbuild
│ ├── _postinstall
│ ├── _preinstall
│ └── recv.o
├── Makefile #编译makefile配置文件
└── recv.c #我们的demo代码
2 directories, 12 files
运行测试进行查看,
===》网卡接收到的数据过多
=