❶ dpdklinkstatuschange
dpdklinkstatuschange是dpdk的example例子之一。
这种例子有很多,可以帮助用户快速了解dpdk的部分原理。在编译example时,经常找不到如何编译,遇到各种报错的问题,其实,dpdk官网已经有了很好的例子示范了。
DPDK全称IntelDataPlaneDevelopmentKit,是intel提供的数据层开发套件工具集,是Intel处理器架构Q下用户空间高效的数据包处理的库函数和驱动。通俗地说,就是包数据处理加速的软件库。
❷ DPDK实验环境搭建
事情是是是是是这样的!
我要用DPDK,但是我觉得搞两台服务器连端口发包,太麻烦,虽然实际上,可能并不麻烦。。。。但我就是想在单台服务器上做。
docker+DPDK+OVS 这种方式来做测试。
然后呢就在网上找了个教程,和我的需求真的是一模一样。。但是按照那个教程做的过程中啊,出了一些问题。记录一下~
教程链接: https://blog.csdn.net/me_blue/article/details/78589592
其中安装部分按照教程里的做就可以了。
安装完dpdk和ovs之后创建网桥以及下发流表用的脚本可以在我的github上获取。 https://github.com/LinanJ/DPDK-OVS-
在这个实验中,把pktgen和testpmd放在两个容器中,然后进行测试。创建容器都没问题,问题是在启动pktgen的时候,总是报内存的错误,要么是内存没有,要么是内存不足!!!
重点来了,朋友们,教程里的socket_mem部分是两个1024对吧。那是因为人家有连个NUMA节点,你有么???
我是没有的。。所以,就会报错,说是socket1上没有内存。。显然没有。所以啊,如果你只有一个numa节点,那么你在pktgen上和testpmd上的命令应该是这样的:
dpdk挂载的就是红线框的这两条
这样就可以了。