01 2023 档案

摘要:numactl numactl --hardware // 查看每个numa节点,每个节点领取多少个CPU和多少内存 numastat // 通过numastat命令可以查看numa状态 dpdk网卡绑定与解绑 dpdk源码目录下的usertool/dpdk-setup.py bind/unbind 阅读全文
posted @ 2023-01-13 10:36 JaneySJ 阅读(514) 评论(0) 推荐(0) 编辑
摘要:运行 编译好dpdk示例程序之后,可使用以下命令运行程序。我编译的环境是绑定了两张dpdk网卡,主机是64核,2个numa节点。 ./build/load_balancer -l 3-7 -n 4 -- --rx "(0,0,3),(1,0,3)" --tx "(0,3),(1,3)" --w "4 阅读全文
posted @ 2023-01-13 10:33 JaneySJ 阅读(139) 评论(0) 推荐(0) 编辑
摘要:DPDK从网卡直接取数据到用户空间,需要有数据转发的规则才能通信。也就是说需要用户实现相关通信网络协议实现相关数据包的转发(有些协议栈不转发ICMP报文那就Ping不通),例如腾讯的fstack,爱奇艺的DPVS等。这里仅以简单的2层和3层通信实例。 l2fwd Sample 运行 ./build/ 阅读全文
posted @ 2023-01-13 10:32 JaneySJ 阅读(1635) 评论(0) 推荐(0) 编辑
摘要:安装pktgen 我之前安装的dpdk版本是stable-18.11.2, linux版本为 3.10.0-1160.36.2.el7.x86_64, 从网站http://git.dpdk.org/apps/pktgen-dpdk/refs/下载尝试多个版本的pktgen,最后试出pktgen3.7 阅读全文
posted @ 2023-01-13 10:32 JaneySJ 阅读(365) 评论(0) 推荐(0) 编辑
摘要:模块安装 运行dpdk源文件(以18.11.2版本为例)中 usertools/dpdk-setup.sh 脚本可以选择如下选项18、19、20分别加载IGB_UIO、VFIO或者KNI模块。要能加载成功首先要编译安装好基础dpdk环境,加载成功后可以在/dev目录下看到vfio或kni文件夹。卸载 阅读全文
posted @ 2023-01-13 10:32 JaneySJ 阅读(3052) 评论(0) 推荐(0) 编辑
摘要:ethtool ethtool这个例子展示了一个命令行交互的例子,这个例子包含了两个部分,一个是跑在slavecore上的packet映射,另一个是跑在master core上的Ethtool shell前端程序。主程序通过命令ethtool跑起来之后, 通过函数ethapp_main中list_p 阅读全文
posted @ 2023-01-13 10:31 JaneySJ 阅读(648) 评论(0) 推荐(0) 编辑
摘要:要想弄懂一个工程,在了解完它的基本概念和大体架构之后,就让它跑起来。看看是怎么玩转的,然后再深入细节。这里我先到GitHub上下载dpdk工程的18.11.2稳定版本,之所以选择这个版本是因为我们后面会用到DPVS,而DPVS支持到18.11. 另外,在安装编译dpdk之前需要升级linux系统并安 阅读全文
posted @ 2023-01-13 10:31 JaneySJ 阅读(1646) 评论(0) 推荐(0) 编辑
摘要:我在一篇博文中看到DPDK的解释为内核旁路技术,我觉得这个解释很形象也很好记,DPDK 重载了网卡驱动,将数据包的控制平面和数据平面分离,驱动在收到数据包后不再硬中断通知 CPU,而是让数据包通过内核旁路的协议栈绕过了 Linux 内核协议栈,并通过零拷贝技术存入内存,这时应用层的程序就可以通过 D 阅读全文
posted @ 2023-01-13 10:30 JaneySJ 阅读(527) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示