#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_USER6 29/**< User-defined log type 6. */ #define RTE_LOGTYPE_...
【摘要】 目录 文章目录 目录 DPDK 的日志系统 RTE_LOG 宏 rte_log 和 rte_vlog 函数 日志模块初始化 第一阶段初始化 第二阶段初始化 注册新的日志类型 复用现有日志类型 参考文档 DPDK 的日志系统 在版本较新的 DPDK 中引入了动态类型日志系统。此外,除了原来支持的... 目录 文章目录 目录 DPDK 的日志系统...
DPDK 的日志系统 在版本较新的 DPDK 中引入了动态类型日志系统。此外,除了原来支持的全局日志输出,也支持了针对单独某个模块的日志输出。本文以 18.05 版本进行阐述。 RTE_LOG 宏 DPDK 封装好了 RTE_LOG 宏供开发 App 使用,如下: // x86_64-native-linuxapp-gcc/include/rte_log.h /** * Generates a log...
根据日志信息的优先级高低,dpdk将日志信息分为8个级别,其中RTE_LOG_DEBUG的值为8,这是日志的最高级别,也就是说记录的日志信息最多;相应的,RTE_LOG_EMERG为日志的最低级别,只记录严重的错误信息。dpdk在运行时只有一个log级别,代码中每一条日志都有其固定的log级别,只有代码的log级别小于等于当前系统的log级别时...
dpdk中通过log系统记录相关的日志信息,每一条日志除日志内容外,还有两个附加信息,log级别和log类型。开发人员可根据级别和类型对日志信息进行过滤,只记录必要的日志。 log级别 根据日志信息的优先级高低,dpdk将日志信息分为8个级别,其中RTE_LOG_DEBUG的值为8,这是日志的最高级别,也就是说记录的日志信息最多;相应...
#define RTE_LOGTYPE_MALLOC 0x00000002 #define RTE_LOGTYPE_RING 0x00000004 1. 2. 3. 4. 每个模块又可以支持哪些日志级别呢?也是在rte_log.h中宏定义,例如: 支持的日志级别 #define RTE_LOG_ERR 4U /**< Error conditions. */ #define RTE_LOG_WARNING 5U /**< Warning conditions. */ ...
支持syslog功能使得DPDK的log系统能够将日志信息写入Linux系统默认的日志文件中,利用syslog.conf配置实现。在命令行中,可以通过`--log-level`选项设置记录日志的最高级别,通过`--syslog`选项配置默认的日志类型。在代码中,通过`rte_set_log_type()`函数设置日志类型位图。日志函数`RTE_LOG(l, t, ....
RTE_LOG(DEBUG, EAL, "Registered [%s] bus.\n", rte_bus_name(bus)); } lib\eal\include\bus_driver.h #define RTE_REGISTER_BUS(nm, bus) \ RTE_INIT_PRIO(businitfn_ ##nm, BUS) \ {\ (bus).name = RTE_STR(nm);\ rte_bus_register(&bus); \ ...
DPDK的主要对外函数接口都以rte_作为前缀,抽象化函数接口是典型软件设计思路,rte是指runtime environment,eal是指environmentabstraction layer。下图3是kni的mbuf使用流程图,可以看出报文的流向,因为报文在代码中其实就是一个个内存指针。其中rx_q右边是用户态,左边是内核态。最后通过调用netif_rx()将报文送入linux协议...
1.1 log级别 根据⽇志信息的优先级⾼低,dpdk将⽇志信息分为8个级别,其中RTE_LOG_DEBUG的值为8,这是⽇志的最⾼级别,也就是说记录的⽇志信息最多;相应的,RTE_LOG_EMERG为⽇志的最低级别,只记录严重的错误信息。dpdk在运⾏时只有⼀个log级别,代码中每⼀条⽇志都有其固定的log级别...