#define RTE_LOGTYPE_USER1 0x01000000 /**< User-defined log type 1. */ #define RTE_LOGTYPE_USER2 0x02000000 /**< User-defined log type 2. */ #define RTE_LOGTYPE_USER3 0x04000000 /**< User-defined log type 3. */ #define RTE_LOGTYPE_USER4 0x08000000 /**< User-defined log t...
只有用户调用 rte_set_log_type 设置了需要打印哪些模块,则这些模块才能打印出来,其他模块则过滤掉了,无法打印出来。例如调用 rte_set_log_type 设置了 EAL, MALLOC 两个模块,则这两个模块可以打印出日志,但 RTE_LOG(DEBUG, PIPELINE, "hello pipeline") 是无法打印出来了,因为没有设置 PIPELINE 这个模块。 同...
84 #define RTE_LOGTYPE_USER3 0x04000000 /**< User-defined log type 3. */ 85 #define RTE_LOGTYPE_USER4 0x08000000 /**< User-defined log type 4. */ 86 #define RTE_LOGTYPE_USER5 0x10000000 /**< User-defined log type 5. */ 87 #define RTE_LOGTYPE_USER6 0x20000000 /**< User...
#define RTE_LOGTYPE_USER2 25/**< User-defined log type 2. */ #define RTE_LOGTYPE_USER3 26/**< User-defined log type 3. */ #define RTE_LOGTYPE_USER4 27/**< User-defined log type 4. */ #define RTE_LOGTYPE_USER5 28/**< User-defined log type 5. */ #define RTE_LOGTYPE_...
RTE_LOG(DEBUG, EAL, "hello! this is eal module"); 1. 2. 3. 那dpdk支持打印哪些模块的日志呢?这个可以从rte_log.h宏定义可以看出,例如: 支持的日志类型 #define RTE_LOGTYPE_EAL 0x00000001 #define RTE_LOGTYPE_MALLOC 0x00000002 #define RTE_LOGTYPE_RING 0x00000004 ...
支持syslog功能使得DPDK的log系统能够将日志信息写入Linux系统默认的日志文件中,利用syslog.conf配置实现。在命令行中,可以通过`--log-level`选项设置记录日志的最高级别,通过`--syslog`选项配置默认的日志类型。在代码中,通过`rte_set_log_type()`函数设置日志类型位图。日志函数`RTE_LOG(l, t, ....
EAL可以在运行时查询CPU状态(使用rte_cpu_get_feature()接口),用于判断哪个CPU特性可用。 3.1.9.用户空间中断事件 3.1.9.1.主机线程中的用户空间中断和报警处理 EAL创建一个主机线程用于轮询UIO设备描述文件描述符以检测中断。可以通过EAL提供的函数为特定的中断事件注册或注销回调函数,回掉函数在主机线程中被异步调用...
dpdk除了默认的log类型外,还留给⽤户8个可由⽤户⾃定义的log类型,⽤户可利⽤这8个⾃定义的log类型,将转发程序中的⽇志进⾏更详细的分类。log类型的相关宏在“./liblibrte_eal/common/include/rte_log.h”中定义:63 /* SDK log type */ 64 #define RTE_LOGTYPE_EAL 0x00000001 /**<...
日志优化,兼容 RTE_LOG,解决当前异步日志崩溃问题,并支持分类、去重、限速。FullNAT46 和 XOA 内核模块,支持外部 IPv4 网络访问 IPv6 内网的场景。DPVS 内存池设计,支持高性能、并发安全、动态伸缩、不同长度对象的存取。优化 DPVS 接口(netif_port)管理,解决多线程动态增删接口的不安全问题。RSS Precalculating...
/* try to allocate tailq entry */te = rte_zmalloc("MEMPOOL_TAILQ_ENTRY", sizeof(*te), 0);if (te == NULL) {RTE_LOG(ERR, MEMPOOL, "Cannot allocate tailq entry!\n");goto exit_unlock;} 接下来,就是计算整个mempool头结构多大。