dpdk
文章平均质量分 77
Andrew Yang
这个作者很懒,什么都没留下…
展开
-
DPDK19.05 rte_flow 的 rss 支持情况
DPDK19.05 rte_flow 的 rss 支持情况:结论实验和查看源码得出:driversupportssupportsigbrssntuple + queueixgberssntuple + queuei40eeth + rss, vlan + rssntuple + queue证据igb, ixgbe 都没有看到 ntuple 和 rss 组合使用:static intigb_parse_rss_filter(struct rte_原创 2021-07-01 14:33:08 · 971 阅读 · 2 评论 -
dpdk 应用笔记:KVM 下 dpdk 的 配置基础
1. dpdk 应用笔记:KVM 下 dpdk 的 配置基础1.1. 要点在 kvm 配置文件中,设置网卡直通。物理机 进行核隔离。将 虚拟机的 cpu 一一映射到 物理机的 cpu。使用同一 nuam node 下的 网卡 cpu 和 内存。虚拟机 进行核隔离。相同的程序 跑在 相同的 cpu core 中,减少 data-cache miss.1.2. 设置网卡直通在物理机上,查询网卡的 pci 地址dpdk-devbind.py -s> Network devices原创 2021-02-05 18:49:45 · 1070 阅读 · 0 评论 -
dpdk 不完全笔记: rte_rdtsc()
dpdk 不完全笔记: rte_rdtsc()rte_rdtsc() 返回的是自开机始CPU的周期数。rte_rdtsc() 只是获得tsc寄存器的值。每经过一个时钟周期,tsc寄存器就自动加1。如果 CPU MHz为1600,那么tsc的1就是1/1600/1000/1000的时间。rte_get_tsc_cycles() 与 rte_rdtsc() 功能相同。rte_get_tsc_cycles() 内部就是调用 rte_rdtsc()。rte_rdtsc_precise() 返.原创 2020-06-29 09:43:24 · 7072 阅读 · 1 评论 -
double free mbuf 造成的问题
double free mbuf 造成的问题double free 了 mbuf, mbuf 会插入到内存池的空闲队列中两次。在收包的时候,同一个 mbuf 在两次不同的 alloc 给返回。也就是说用 同一个 mbuf 会被用来接收两个不同的报文了。后面的报文就会覆盖前面的报文,最后造成 mbuf 的内容被篡改。从而出现段错误。...原创 2020-05-29 09:23:25 · 997 阅读 · 0 评论 -
dpdk_18_05 应用笔记: ip_pipeline 例程
dpdk_18_05 应用笔记: ip_pipeline 例程查询网卡的 pci 地址使用 lspci 查询网卡的 pci 地址。该地址由于后续脚本设置来指定网卡。lspci | grep Eth> 01:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)>...原创 2020-02-23 20:54:25 · 1081 阅读 · 0 评论 -
dpdk_18_05 应用笔记: l3fwd 例程
dpdk_18_05 应用笔记: l3fwd 例程查询网卡的 pci 地址机器上有 4 个的 I350 网卡。现在只是使用其中01:00.0和01:00.1两个网卡来绑定到 DPDK 作为测试。lspci | grep Eth> 01:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connecti...原创 2020-02-23 20:53:17 · 901 阅读 · 0 评论 -
DPDK offload应用笔记
查看网卡 offload 功能使用 ethtool使用 ethtool 可以看一般的 网卡。ethtool -k <link_name>dpdk 的做法在 dpdk 中可以使用以下函数来查看是否支持 offload 功能。ixgbe_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev...原创 2019-11-05 17:47:25 · 3217 阅读 · 0 评论 -
82599ES 光口无法通过大包的问题记录
问题参考 DPDK 例子程序 ip_fragment.c 来实现分片。无论 I350 电口 还是 82599ES 光口,小包都是可以通过的。但是在大包的时候,82599ES 光口就有问题。场景I350 电口82599ES 光口启用 tx checksum offload小包可以通过小包可以通过启用 tx checksum offload小包可以通过小包可...原创 2019-11-05 15:21:29 · 2083 阅读 · 0 评论 -
显示出dpdk所有的编译选项
使用以下指令:make V=1可以显示出dpdk所有的编译选项。原创 2019-10-11 11:23:24 · 409 阅读 · 0 评论 -
不完全 vtune 应用笔记
vtune 的 host 和 target 机器以下就以我的环境为例:我的 vtune GUI 工具是 安装在 window 的机器上。这个就是 host 机器。而我的被测试机器,则是一台 centos7 的服务器。这个就是 target 机器。安装 vtune 驱动 的动机vtune 可以使用 perf 来采样,但是在进行微架构分析的时候,perf 采样会报错。这时,则需要 vt...原创 2019-09-25 09:57:19 · 701 阅读 · 0 评论 -
DPDK RSS 基础
1 rss 的作用rss 是网卡提供的分流机制。用来将报表分流到不同的收包队列,以提高收包性能。引用 Intel 82599 10 GbE Controller Datasheet 其中的 Section 7.1.2.8.1, RSS Hash Function 一节。The receive packet is parsed into the header fields used by ...原创 2019-09-24 15:04:14 · 5369 阅读 · 2 评论 -
dpdk 内核模块 Unknown symbol in module 问题
@[dpdk 内核模块 Unknown symbol in module 问题]问题1:igb_uio.ko, rte_kni.ko 在编译的时候出现问题 undefined symbol:编译时出现的故障现象:cd ${RTE_SDK}chmod a+x scripts/ tools/ -vRfmake -j 16 install T=${RTE_TARGET}> =...原创 2019-06-19 10:00:49 · 2708 阅读 · 0 评论 -
DPDK 16.07 驱动初始化和收发包函数学习笔记
DPDK 16.07 驱动初始化和收发包函数学习笔记文档保留了 markdown 格式。可以转为纯文本格式,方便在其他编辑器中使用语法高亮阅读代码。文档行文主要是提纲式的。如果阅读过程发现缺少了方向。请立刻回到章节的开首处,查询总体的函数调用图。文档只讨论了千兆(I350 Gigabit)和 万兆(82599ES 10-Gigabit SFI/SFP+)的驱动做为例子。分析代码的过程中,...原创 2019-04-02 21:27:37 · 2366 阅读 · 2 评论 -
DPDK 1805 日志学习笔记
修改默认的日志等级文件: ${RTE_SDK}/config/common_base差分: - CONFIG_RTE_LOG_DP_LEVEL=RTE_LOG_INFO + CONFIG_RTE_LOG_DP_LEVEL=RTE_LOG_DEBUG修改应用中的日志类别的等级修改应用中的日志类别的等级 main() { rte_log_set_level(RTE_LOGTYP...原创 2019-04-04 16:17:52 · 409 阅读 · 0 评论 -
l2fwd + pdump 的 例程 和 `--base-virtaddr` 选项
l2fwd + pdump 的 例程修改 l2fwd 的 例程在 l2fwd 的 例程上添加 pdump 的功能:头文件引用 <rte_pdump.h>。signal_handler() 中添加 rte_pdump_uninit()。main() 中添加 rte_pdump_init()。差分结果:左边 是修改前。右边 是修改后。添加了 pdump 的 功能。...原创 2019-03-24 22:57:50 · 3091 阅读 · 2 评论 -
dpdk_18_05 的例程使用
dpdk_18_05 的 helloworld 例程编译方法1: 编译并安装到 ./build/ (使用,后续都是以这个为例子) cd ${RTE_SDK}/examples/helloworld make方法2: 编译并安装到 ${dpdk_example} 路径 (暂不使用) cd ${RTE_SDK}/examples/helloworld make O=${dpdk_exa...原创 2019-03-24 22:54:08 · 2025 阅读 · 0 评论 -
dpdk_18_05 环境搭建
dpdk_18_05 环境搭建dpdk 下载 mkdir -p /home/dpdk_18_05 cd /home/dpdk_18_05 wget http://fast.dpdk.org/rel/dpdk-18.05.1.tar.xz tar xvf dpdk-18.05.1.tar.xz cd /home/dpdk_18_05/dpdk-stable-18.05.1添加环境变量...原创 2019-03-24 22:51:37 · 1427 阅读 · 0 评论 -
dpdk_lcore_note_DPDK_lcore_学习笔记
DPDK 16.07 lcore学习笔记文档保留了 markdown 格式。可以转为纯文本格式,方便在其他编辑器中使用语法高亮阅读代码。文档行文主要是提纲式的。如果阅读过程发现缺少了方向。请立刻回到章节的开首处,查询总体的函数调用图。1. DPDK核绑定的全局概览DPDK核绑定的相关函数,都集中在rte_eal_init()函数中调用:其中主要分为六部分:检测所有的cpu。解释...原创 2019-02-16 22:15:08 · 2701 阅读 · 1 评论