将分享技术博文作为一种快乐,提升自己帮助他人
发布时间:2023-01-11 00:01:21
DPDK中有许多辅助DPDK应用问题定位的工具,如proc_info和telemetry。proc_info通常是以运行从进程的方式,来获取DPDK应用中的设备统计和私有信息以及Lib的关键信息。Telemetry库旨在为用户提供向DPDK遥测查询相关信息的能力,2018年10月引入DPDK社区,至今已历经四年的演进。Telemetry是通过客户端链接DPDK进程创建的UNIX域套接字,向DPDK进程发送待查询模块特征的消息来进行信息交互的。Telemetry相比于proc_info的优势:无需进行从进程的初始化,不依赖DPDK的库文件版本,客户端可与任何支持telemetry的DPDK应用直接进行信息交互。本文主要介绍Telemetry原理和使用,学习其设计思想。......【阅读全文】
发布时间:2022-12-13 07:41:49
熟悉Linux内核的同学都知道,设备和驱动都是挂在总线上的,一个驱动可以匹配多个设备,设备和驱动一旦匹配之后,就会调用驱动的probe函数对设备进行初始化。DPDK全称叫数据平面开发套件,它运行在用户态,里面也包含着许多设备驱动。那么DPDK中的总线、设备和驱动,又是使用什么模型呢?直接了当的说,DPDK中总线、设备和驱动的模型和Linux内核是一样的,加载方式也是类似的。下面主要介绍DPDK的总线注册、驱动注册和设备扫描挂载,以及设备和驱动匹配之后的设备探测。......【阅读全文】
发布时间:2022-12-04 01:14:35
DPDK中总线和驱动的注册方式——RTE_INIT —— RoadLee 1. DPDK中的总线和驱动的注册方式我们都知道DPDK的应用进程,如DPDK工程中的app或者examples启都会有一个main函数,在main函数中一般首先调用rte_eal_init()进行环境抽象层的初始化。然而,实际上在执行main函数前,.........【阅读全文】
发布时间:2022-11-30 07:27:08
DPDK网络功能中使用的rte_mbuf作用类似于内核态网络中的sk_buff,它是对接网络驱动和协议栈的接口。rte_mbuf的内存是应用在申请mbuf_pool时创建的,在《......【阅读全文】
发布时间:2022-11-24 01:16:35
一、前言 rte_mempool库是DPDK中的一个基本核心库,它是提高DPDK性能的方式之一,DPDK中基本所有的设备的应用都会应用到它。了解它,有助于性能问题定位,有助于跟深入理解DPDK。 rte_mempool的核心库位于工程的lib\mempool\目录下。二、rte_mempool结构介绍2.1 rte_mempool结构体&.........【阅读全文】