DPDK官方文档说明

news2024/11/26 20:51:07

目录

1、Release Notes

2、Getting Started Guide for Linux/FreeBSD/Windows

3、Programmer’s Guide

4、API Reference

5、Sample Applications User Guide

6、DPDK Tools User Guides

7、Testpmd Application User Guide

8、Network Interface Controller Drivers

9、其它设备驱动程序


前面的文章《DPDK相关学习资料汇总》已经讲过DPDK相关的学习资料,但是DPDK开源社区很活跃,版本更新迭代很快,所以相对来说,最全最新的资料肯定是dpdk官方文档了。

今天我们来看一下DPDK官方具体提供了哪些文档。

1、Release Notes

Release Notes是版本发行说明的意思,DPDK每个版本都会有一个版本发布说明,包含以下内容:

  • New Features:新功能特性
  • Removed Items:移除的条目
  • API Changes:API接口变更
  • ABI Changes: ABI接口变更
  • Known Issues:已知问题
  • Tested Platforms:已测试的平台

通过浏览每个版本的Release Notes,可以快速知道指定版本的新特性以及相较于之前版本的变化,对于DPDK版本选型很有用。

DPDK 各版本Release Notes链接:http://doc.dpdk.org/guides/rel_notes/

2、Getting Started Guide for Linux/FreeBSD/Windows

Linux/FreeBSD/Windows的入门指南,介绍如何安装和配置DPDK,以及如何运行DPDK的应用。主要针对三个操作系统,分别是Linux、FreeBSD和Windows。

学习DPDK,动手实践很重要,所以先要把DPDK的环境安装起来,可以参考这个入门指南,也可以看我之前的文章《DPDK的源码编译安装》

Getting Started Guide for Linux链接:http://doc.dpdk.org/guides/linux_gsg/

3、Programmer’s Guide

程序员编程指南,适用于需要基于DPDK进行编程的程序员。包含三个部分内容:

  • DPDK软件架构,以及通过示例程序演示如何使用DPDK的特性
  • DPDK包含的内容、编译构建系统以及开发自己应用程序的方法
  • DPDK应用程序的优化

DPDK开发中,需要用到什么功能,就看相应的功能说明。

Programmer’s Guide链接:http://doc.dpdk.org/guides/prog_guide/

4、API Reference

函数API接口文档,提供关于DPDK函数、数据结构和其他编程构造的详细信息。

相关模块的对外API接口以及参数说明,都统一在这里列出来了。

API Reference链接:http://doc.dpdk.org/api/

5、Sample Applications User Guide

示例应用程序用户指南,描述了一组示例应用程序。每一章都描述了一个示例应用程序,它展示了特定的功能,并提供了关于如何编译、运行和使用示例应用程序的说明。

1、dpdk-ethtool:一个类似ethtool的API的实现,并提供了一个控制台环境,允许使用它来查询和更改以太网卡参数

2、dpdk-helloworld:最简单的DPDK应用程序的一个示例。应用程序只是在每个启用的lcore上打印一条“helloworld”消息。

3、dpdk-skeleton: 转发应用程序的一个简单框架示例。演示DPDK转发应用程序的基本组件。更详细的实现,可以看L2和L3转发示例应用程序。

4、dpdk-rxtx_callbacks:RX/TX回调样例应用程序是一个数据包转发应用程序,它演示了在接收和传输的数据包上使用用户定义的回调。应用程序使用回调执行简单的延迟检查,以确定数据包在应用程序中花费的时间。

5、dpdk-flow_classify:演示了使用流分类库API的DPDK转发应用程序。

6、dpdk-flow_filtering: 创建rte流规则的一个简单示例。

7、dpdk-ip_fragmentation:使用IPv4和IPv6分片进行L3转发

8、dpdk-ipv4_multicast: 应用程序执行三层组播进行分组处理的一个简单示例。

9、dpdk-ip_reassembly:应用程序对分片的IPv4和IPv6报文进行三层转发和重组

10、dpdk-l2fwd-keepalive:演示如何检测“失败的”DPDK内核,并将此故障通知给故障管理实体。其目的是确保核心的故障不会导致管理实体无法检测到的故障。

11、dpdk-dma: 使用DMAdev API创建包复制应用程序的示例

12、dpdk-l2fwd-crypto: 带加密的L2转发(l2fwd-crypto)示例应用程序,使用Cryptodev库进行包处理

13、dpdk-l2fwd-jobstats:利用虚拟化环境中的SR-IOV特性的L2层转发程序(包含 job stats library)

14、dpdk-l2fwd: 利用虚拟化环境中的SR-IOV特性的L2层转发程序

15、dpdk-l2fwd-event:演示轮询和事件模式数据包I/O机制的L2层转发程序

16、dpdk-l2fwd-cat:演示通过扩展命令行选项和libpqos库链接来使用缓存分配技术CAT

17、dpdk-l3fwd:演示轮询和事件模式数据包I/O机制的L3转发程序

18、dpdk-l3fwd-graph:使用Graph框架和为Graph框架编写的节点进行L3转发

19、dpdk-l3fwd_power: 使用电源管理算法,通过电源管理库控制英特尔处理器的P-states and C-states进行功率感知报文处理

20、dpdk-link_status_interrupt:演示DPDK应用程序如何捕获和使用网络端口的网络链路状态变化

21、dpdk-server:使用efd库作为流级负载平衡器

22、dpdk-service_cores: 演示DPDK的服务核心功能。服务核心基础设施是DPDK EAL的一部分,并允许任何DPDK组件注册服务

23、dpdk-simple_mp: 演示DPDK的primary和secondary多进程

24、dpdk-qos_meter:演示使用DPDK提供QoS标记和计量

25、dpdk-qos_sched:演示如何使用DPDK提供QoS调度

26、dpdk-timer:演示在DPDK应用程序中如何使用计时器

27、dpdk-packet_ordering:展示了重新排序流的影响。它旨在强调具有不同配置的库的性能

28、dpdk-vmdq_dcb:通过VMDQ和DCB进行L2转发,将进入的流量划分为队列。通过Intel®82599和X710/XL710以太网控制器的VMDQ和DCB功能在硬件上实现流量分割

29、dpdk-vmdq:应用程序使用VMDq进行L2转发,将进入的流量划分为队列。通过Intel®82599和X710/XL710以太网控制器的VMDq功能在硬件上执行流量分割

30、dpdk-vhost:演示数据平面开发工具包(DPDK)与Linux* KVM管理程序的集成

31、dpdk-vhost_blk:实现了一个简单的块设备,用作Qemu vhost-user-blk设备的后端

32、dpdk-vhost_crypto:实现了一个简单的Crypto设备,它用作Qemu vhost-user-crypto设备的后端

33、dpdk-vdpa:通过使用vdpa后端创建vhost-user套接字34、dpdk-ip_pipeline :DPDK pipeline模式处理报文的示例

35、dpdk-test-pipeline:演示单表 pipeline模式处理报文DPDK 的性能

36、dpdk-pipeline:展示了与P4语言一致的软件交换机(SWX)管道的特性37、dpdk-eventdev_pipeline:使用软件PMD使用eventdev API。它展示了应用程序如何配置管道并分配一组工作内核来执行所需的处理。

38、dpdk-distributor :将数据包分发到核心的一个简单示例

39、dpdk-vm_power_manager:展示了DPDK应用程序如何使用仅限VM本地信息(vCPU/lcore等)向主机驻留VM电源管理器指示其处理需求的示例

40、dpdk-ptpclient:它使用DPDK IEEE1588 API与PTP主时钟通信,以同步网卡上的时间,也可以同步Linux系统上的时间

41、dpdk-fips_validation:用于解析和执行NIST加密算法验证程序(CAVP)和自动加密验证协议(ACVP)测试向量的对称加密计算

42、dpdk-ipsec-secgw:使用DPDK加密开发框架的“真实世界”应用程序

43、dpdk-bbdev:对基带工作负载进行数据包处理的一个简单示例

44、dpdk-ntb:展示了如何使用ntb rawdev驱动程序

每一个示例程序都对一个特定的功能进行了代码示例演示,我们自己在开发使用其中一个功能的时候,都可以基于对应的示例程序进行扩展。

Sample Applications User Guide链接:https://doc.dpdk.org/guides/sample_app_ug/index.html

6、DPDK Tools User Guides

DPDK工具用户指南,详细讲解了DPDK工具的参数和使用方法。包含工具:

1、dpdk-hugepages:设置和查看大页内存

2、dpdk-devbind:绑定和解绑网卡驱动程序

3、dpdk-proc-info:作为DPDK的辅助进程运行,能够检索端口统计信息、重置端口统计信息、打印DPDK内存信息和显示端口调试信息

4、dpdk-pmdinfo: 以JSON格式转储PMDs硬件支持信息

5、dpdk-dumpcap:支持条件过滤的抓包工具,它作为辅助DPDK进程运行,捕获进出DPDK主进程的数据包。dpdk-dumpcap可以以Pcapng报文格式写入文件

6、dpdk-pdump:抓包工具,不支持条件过滤抓包

7、dpdk-test-flow_perf:提供了测试特定rte_flow规则的插入率的能力,通过对网卡施加压力,并计算插入和删除率

8、dpdk-test-security-perf:用于测试rte_security会话的创建/销毁率

9、test-bbdev.py :测量bbdev框架中可用的pmd的性能参数

10、dpdk-test-crypto-perf:测量加密树中可用的pmd的性能参数

11、dpdk-test-compress-perf:测量压缩树中可用pmd的性能参数

12、dpdk-test-eventdev:验证DPDK事件开发设备的功能和测量性能参数

13、dpdk-test-regex:对RegEx pmd进行功能测试和性能测量。

14、dpdk-test-mldev:测试各种mldev用例

15、DPDK Test Suite:一个Python测试框架,其中的测试套件用于测试DPDK的功能和性能

这些工具对于配置或者查询DPDK的配置以及定位问题都比较有用,比如配置和查看大页内存,抓包等等。

DPDK Tools User Guides链接:https://doc.dpdk.org/guides/tools/index.html

7、Testpmd Application User Guide

Testpmd应用程序用户指南,展示了如何构建和运行testpmd应用程序,以及如何从命令行和运行时环境配置该应用程序。

testpmd应用程序可用于在数据包转发模式下测试DPDK,也可用于访问NIC硬件特性,如Flow Director。它还可以作为如何使用DPDK SDK构建功能更全面的应用程序的示例。由于Testpmd应用涉及的功能参数非常多,所以把Testpmd单独拿出来讲。

Testpmd Application User Guide链接:https://doc.dpdk.org/guides/testpmd_app_ug/index.html

8、Network Interface Controller Drivers

网络接口控制器驱动程序,讲解各种网卡驱动程序的功能特性以及在相应示例程序中的使用方法。比如常见的ixgbe、igb、i40e等驱动。

9、其它设备驱动程序

  • 基带设备驱动程序
  • 加密设备驱动程序
  • 压缩设备驱动程序
  • vDPA 设备驱动程序
  • 正则表达式设备驱动程序
  • 机器学习设备驱动程序
  • DMA 设备驱动程序
  • 通用图形处理单元驱动程序
  • 事件设备驱动程序
  • 原始驱动程序
  • 内存池设备驱动程序

想了解更多DPDK相关的网络开发技术,请关注我(有问题的朋友加我wx,拉你进群)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网站优化,如何挖掘长尾关键词?

做网站优化来说,挖掘一些长尾关键词的重要性是非常大的,因为长尾关键词给我们带来的流量可能会超过我们的主关键词。如何挖掘长尾关键词,挖掘长尾关键词的的方式有哪些是一个重要的问题。 长尾词挖掘方式: 【1】使用长尾词挖掘工…

机器学习——线性回归、梯度下降

文章目录 一、机器学习的分类二、线型回归Linear regression(单变量线性回归)三、代价函数3.1 建模误差3.2 平方误差代价函数 Squared error cost function3.3 梯度下降3.4 梯度下降与线性回归相结合 一、机器学习的分类 监督学习:学习数据带…

生成模型之高斯判别分析(GDA)和贝叶斯

生成模型与判别模型的区别 判别模型的学习算法学习给定x下的条件分布p(y|x; θ), 例如,Logistic Regression(对数几率回归)将p(y|x; θ)建模为,g是sigmoid函数。 考虑一个分类问题,基于动物的某些特征想…

电商数据监测:如何获取想要的电商平台数据?

随着电商行业的发展,越来越多的企业开始通过电商平台销售商品。为了更好地掌握市场信息和消费者需求,企业需要获取电商平台上的数据。这些数据可以帮助企业制定营销策略、优化产品设计和提高竞争力。本文将介绍如何使用电商API获取想要的电商平台数据。 …

数据库的增删改查(一)

1、CRUD *注释:在SQL中可以使用"--空格描述"来表示注释说明 *CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写 2、新增(Create) 语法: insert [into] table_name [(column[,column] ...)…

【红队靶场】暗月五月考核靶场sunday

红队靶场 🎉B站配套视频:【顺手挂个三连呗】 https://www.bilibili.com/video/BV1xu4y1Z71y/?share_sourcecopy_web&vd_source0e30e09a4adf6f81c3038fa266588eff🔥系列专栏:红队靶场 🎉欢迎关注🔎点赞…

【MySql】ProxySQL

文章目录 ProxySQL运行机制ProxySQL安装ProxySQL的Admin管理接口和admin管理接口相关的变量admin-admin_credentialsadmin-stats_credentialsadmin-mysql_ifaces 读写分离环境信息部署步骤 负载均衡连接池自动摘除宕机的DB动态加载配置访问控制查询缓存ProxySQL 集群来源 Proxy…

送礼物 dfs 双向dfs 剪枝 java

🍑 送礼物 达达帮翰翰给女生送礼物,翰翰一共准备了 N N N 个礼物,其中第 i i i 个礼物的重量是 KaTeX parse error: Undefined control sequence: \[ at position 2: G\̲[̲i\]。 达达的力气很大,他一次可以搬动重量之和不超…

有效的括号——力扣20

题目描述 思路 1.判断括号的有效性可以使用「栈」这一数据结构来解决 2.遍历给定的字符串 s。当遇到一个左括号时,我们会期望在后续的遍历中,有一个相同类型的右括号将其闭合。由于后遇到的左括号要先闭合,因此我们可以将这个左括号放入栈顶。…

2.项目中的文件

项目的路径是这样的 目录 1 pages 1.1 json 1.2 wxml 1.3 wxss 1.4 js 2 utils 3 .eslintrc.js 4 app.js 5 app.json 6 app.wxss 7 project.config.json 8 project.private.config.json 9 sitemap.json 1 pages pages 用来存放所有小程序的页面&am…

数据结构与算法基础(青岛大学-王卓)(4)

第四弹啊,栈和队列终于叮叮咚咚看完了,小龙虾呀鳝鱼汤啊倍儿香~~~~,配合本文食用更香 😃 文章目录 栈和队列栈队列案列的引入栈的表示和操作栈的抽象数据类型定义顺序栈顺序栈的表示顺序栈的初始化顺序栈基本操作顺序栈的入栈顺序…

基于Python的接口自动化-JSON模块的操作

目录 引言 一、JSON是啥? 二、JSON的有效数据类型 三、Python JSON库的使用 结语 引言 在使用Python进行接口自动化测试脚本时,一般都是脚本只写接口测试逻辑实现,而执行脚本时需要的测试用例数据都是写入excel、数据库或者指定的配置文…

入门编程指南:如何从零开始学习编程?

一、自学编程需要注意什么? 自学编程需要注意以下几点: 选择适合自己的编程语言,在学习初期建议选择易入手的编程语言。需要不断地练习,并建立自己的编程项目,以此提高编程技巧和应用能力。追求知识的全面性&#xf…

实验二十二、压控电压源二阶带通滤波器的参数选择

一、题目 如图1所示电路中,已知 R 51 k Ω R51\,\textrm kΩ R51kΩ, R 3 20 k Ω R_320\,\textrm kΩ R3​20kΩ; f 0 1 kHz f_01\,\textrm{kHz} f0​1kHz。利用 Multisim 分析下列问题: (1)选取合适…

[图表]pyecharts-K线图

[图表]pyecharts-K线图 先来看代码: import requests from typing import List, Unionfrom pyecharts import options as opts from pyecharts.charts import Kline, Line, Bar, Griddef get_data():response requests.get(url"https://echarts.apache.org/…

攻击者使用 Python 编译的字节码来逃避检测

以 PyPI(Python 包索引)等开源包存储库为目标的攻击者设计了一种新技术,可以将他们的恶意代码隐藏在安全扫描器、人工审查和其他形式的安全分析中。 在一次事件中,研究人员发现恶意软件代码隐藏在 Python 字节码 (PYC) 文件中&am…

Scala学习(十二)---模式匹配

文章目录 1.基本语法2.模式守卫3.匹配常量和类型4.匹配对象和样例类4.1 匹配对象4.2 匹配样例类 5.偏函数中的模式匹配 1.基本语法 在Scala中的模式匹配类似于Java中的switch语法 //模式匹配基本语法val a10val b20val c""c match {case "" >println(…

VScode远程连接虚拟机(ubuntu系统)

文章目录 1. Windows端安装VScode2. 安装远程登录插件3. 配置Remote-SSH插件关于关闭后如何打开该配置文件 4. 测试ubuntu与windows可否ping通5. 在Ubuntu中安装 SSH1.检查是否安装ssh-server2.安装openssh-server3.查看ssh服务是否启动4.Ubuntu中配置openssh-server开机自动启…

路径规划算法:基于蝠鲼觅食优化的路径规划算法- 附代码

路径规划算法:基于蝠鲼觅食优化的路径规划算法- 附代码 文章目录 路径规划算法:基于蝠鲼觅食优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化…

6.4下周黄金最新行情走势分析及开盘交易策略

近期有哪些消息面影响黄金走势?下周黄金多空该如何研判? ​黄金消息面解析:周五(6月2日),美市尾盘,现货黄金收报1947.82美元/盎司,大幅下跌29.70美元或1.50%,日内最高触及1983.43美元/盎司&…