[DPDK] dumpcap报错EAL init failed: is primary process running?解决办法

news/2025/1/15 13:33:02/文章来源:https://www.cnblogs.com/CQzhangyu/p/18406754

[DPDK] dumpcap报错EAL init failed: is primary process running?解决办法

问题

我写了一个DPDK程序,现在想要用DPDK自带的dpdk-dumpcap工具来抓包测试。根据官网描述,我们需要先启动我们的程序为主进程,然后启动dpdk-dumpcap为副进程。但是我直接运行dpdk-dumpcap,显示如下错误:

注:在编译DPDK时,需要有libpcap库才会编译dpdk-dumpcap程序。

${DPDK_HOME}/build/app/dpdk-dumpcap -D
EAL: Cannot initialize tailq: RTE_FIB
Tailq 0: qname:<RTE_RING>, tqh_first:0x11fff2d1c0, tqh_last:0x11fff2d1c0
Tailq 1: qname:<RTE_MEMPOOL>, tqh_first:0x11fff2d280, tqh_last:0x11fff2d280
Tailq 2: qname:<RTE_MBUF_DYNFIELD>, tqh_first:(nil), tqh_last:0x1000044e8
Tailq 3: qname:<RTE_MBUF_DYNFLAG>, tqh_first:(nil), tqh_last:0x100004518
Tailq 4: qname:<UIO_RESOURCE_LIST>, tqh_first:(nil), tqh_last:0x100004548
Tailq 5: qname:<VFIO_RESOURCE_LIST>, tqh_first:(nil), tqh_last:0x100004578
Tailq 6: qname:<RTE_HASH>, tqh_first:(nil), tqh_last:0x1000045a8
Tailq 7: qname:<RTE_FBK_HASH>, tqh_first:(nil), tqh_last:0x1000045d8
Tailq 8: qname:<RTE_THASH>, tqh_first:(nil), tqh_last:0x100004608
Tailq 9: qname:<RTE_REORDER>, tqh_first:(nil), tqh_last:0x100004638
Tailq 10: qname:<RTE_ACL>, tqh_first:(nil), tqh_last:0x100004668
Tailq 11: qname:<RTE_LPM>, tqh_first:(nil), tqh_last:0x100004698
Tailq 12: qname:<RTE_LPM6>, tqh_first:(nil), tqh_last:0x1000046c8
Tailq 13: qname:<RTE_SWX_PIPELINE>, tqh_first:(nil), tqh_last:0x1000046f8
Tailq 14: qname:<RTE_SWX_CTL_PIPELINE>, tqh_first:(nil), tqh_last:0x100004728
Tailq 15: qname:<RTE_STACK>, tqh_first:(nil), tqh_last:0x100004758
Tailq 16: qname:<VMBUS_RESOURCE_LIST>, tqh_first:(nil), tqh_last:0x100004788
Tailq 17: qname:<>, tqh_first:(nil), tqh_last:(nil)
Tailq 18: qname:<>, tqh_first:(nil), tqh_last:(nil)
Tailq 19: qname:<>, tqh_first:(nil), tqh_last:(nil)
Tailq 20: qname:<>, tqh_first:(nil), tqh_last:(nil)
Tailq 21: qname:<>, tqh_first:(nil), tqh_last:(nil)
Tailq 22: qname:<>, tqh_first:(nil), tqh_last:(nil)
Tailq 23: qname:<>, tqh_first:(nil), tqh_last:(nil)
Tailq 24: qname:<>, tqh_first:(nil), tqh_last:(nil)
Tailq 25: qname:<>, tqh_first:(nil), tqh_last:(nil)
Tailq 26: qname:<>, tqh_first:(nil), tqh_last:(nil)
Tailq 27: qname:<>, tqh_first:(nil), tqh_last:(nil)
Tailq 28: qname:<>, tqh_first:(nil), tqh_last:(nil)
Tailq 29: qname:<>, tqh_first:(nil), tqh_last:(nil)
Tailq 30: qname:<>, tqh_first:(nil), tqh_last:(nil)
Tailq 31: qname:<>, tqh_first:(nil), tqh_last:(nil)
EAL: FATAL: Cannot init tail queues for objects
EAL: Cannot init tail queues for objects
EAL: Error - exiting with code: 1Cause: EAL init failed: is primary process running?

根据报错的信息,dpdk-dumpcap貌似识别不到我的主进程。但事实上应该是能识别到的,因为如果不启动主进程的话,会在一开始额外报如下错误:

EAL: failed to send to (/var/run/dpdk/rte/mp_socket) due to No such file or directory
EAL: Fail to send request /var/run/dpdk/rte/mp_socket:bus_vdev_mp
vdev_scan(): Failed to request vdev from primary
...

上网查找一番,最后在Secondary DPDK with FastClick · Issue #339 · tbarbette/fastclick · GitHub里找到了问题原因。原因在于我的主进程和dpdk-dumpcap的编译选项不同,所以无法识别。毕竟我的主进程是用我自己写的cmake文件编译的,而dpdk-dumpcap是用默认的meson编译的,二者编译选项肯定不同。

解决办法

dpdk-dumpcap的源代码只有一个文件。所以我直接复制过来放到我的cmake项目里,跟着主程序一起编译,这样就能保证编译选项相同了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/795027.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

互信息

参考 互信息是信息论中用以评价两个随机变量之间的依赖程度的一个度量。 相关概念:信息量:是对某个事件发生或者变量出现的概率的度量,一个事件发生的概率越低,这个事件包含的信息量越大,这跟我们直观上的认知也是吻合的,越稀奇新闻包含的信息量越大,因为这种新闻出现的…

UEFI原理与编程(一)

第一章 UEFI概述(Unified Extensible Firmware Interface 统一的可扩展固件接口) 常见缩写及描述:缩略词 全名 描述UEFI Unified Extensible Firmware Interface 统一的可扩展固件接口BS Boot Services 启动服务RT Runtime Service 运行时服务BIOS Basic Input Output System …

SparkSQL练习:对学生选课成绩进行分析计算

题目内容: 对学生选课成绩进行分析计算题目要求: (1)该系总共有多少学生; (2)该系共开设来多少门课程; (3)每个学生的总成绩多少; (4)每门课程选修的同学人数; (5)每位同学选修的课程门数; (6)该系DataBase课程共有多少人选修; (7)每位同学平均成绩;数据…

面试-JS基础知识-原型和原型链

JS本身是基于原型来继承的语言。 问题引出:如何判断一个变量是不是数组? 手写一个简易的jQuery,考虑插件和扩展性 class的原型本质,怎么理解?知识点class和继承 类型判断 instanceof 原型和原型链class class相当于一个模版,可以用来构建(constructor)东西。 class Stu…

作业9.2:论文查重

这个作业属于哪个课程 班级链接这个作业要求在哪里 作业要求链接这个作业的目标 设计论文查重算法;学会 Git 版本控制。Github 链接:博客正文首行 github 链接 目录一、整体设计开发环境整体设计项目结构二、模块接口的设计与实现核心的类与方法类与函数的调用关系核心算法三…

搭建企业内部的大语言模型系统

大纲开源大语言模型 大语言模型管理 私有大语言模型服务部署方案开源大语言模型 担心安全与隐私?可私有部署的开源大模型商业大模型,不支持私有部署ChatGPT Claude Google Gemini 百度问心一言开源大模型,支持私有部署Mistral Meta Llama ChatGLM 阿里通义千问常用开源大模型…

115. 不同的子序列(leetcode)

https://leetcode.cn/problems/distinct-subsequences/submissions/563375885/ 这题比较有难度,具体不太好想到,需要以是否选择s[i]来划分子集这位描述的很清楚,不做过多赘述 class Solution {public int numDistinct(String s, String t) {// f[i][j]表示s中前i个字符中选择,有…

0.1+0.2 != 0.3 (Java为例)

1. 小数的二进制表示 以10.625为例。整数部分进行除2取余的操作,10的二进制为1010。小数部分进行乘2取整操作,直到小数部分为0或达到需要的精度:0.625*2=1.25 取整数1,小数部分0.25继续计算 0.25*2=0.5 取整数0,小数部分0.5继续计算 0.5*2=1.0 取整数1,小数部分为0,停止…

信创领域认证,来自工信部人才交流中心的PostgreSQL培训班

在国家大力发展信创软件和数据库行业的背景下,PostgreSQL 具有多方面的优势和机遇,具体体现在以下几个方面: 1. 技术优势契合信创需求: PostgreSQL 数据库是一个功能强大、性能稳定、可扩展性强的开源对象关系数据库系统,支持多种数据类型(如数组、JSON、XML 等),方便存储…

Salesforce职业规划:原厂,甲方,乙方,从业者应该如何选择?

Salesforce生态系统蓬勃发展,对不同角色的需求量不断增加。需求方包括使用Salesforce的最终用户(甲方)、实施Salesforce的咨询公司、为Salesforce创建应用程序的AppExchange公司(或ISV),当然还有Salesforce原厂。 Salesforce最终用户(甲方) 2020年,Salesforce的客户数…

3SRB5016-ASEMI三相整流桥3SRB5016

3SRB5016-ASEMI三相整流桥3SRB5016编辑:ll 3SRB5016-ASEMI三相整流桥3SRB5016 型号:3SRB5016 品牌:ASEMI 封装:3SRB-5 批号:2024+ 现货:50000+ 最大重复峰值反向电压:1600V 最大正向平均整流电流(Vdss):50A 功率(Pd):大功率 芯片个数:5 引脚数量:5 安装方式:直插 类…

34-样式迁移

类似于加了一层滤镜基于CNN的样式迁移:如下对于合成图片X,我们希望它的内容和输入的内容图片,放入同一个CNN,在某一个卷积层上,输出的与内容有关的特征能够匹配 同时,,对于样式图片,我们希望合成图片X,和样式图片放入同一个CNN,在某一个卷积层上,输出的与样式有关的…