目录

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,拉你进群)

DPDK官方文档说明相关推荐

  1. 【DPDK工程师手册】 —— 官方文档,最新视频,开源项目,论文,大厂内部ppt,知名工程师一览表

    ✨✨✨[DPDK工程师手册] -- 官方文档,最新视频,开源项目,论文,大厂内部ppt,知名工程师一览表 -- 数据平面开发套件

  2. OpenCV-Python官方文档学习笔记(上)

    整理自OpenCV-Python官方文档 一. OpenCV-Python Tutorials 1 安装及验证 2 图片读写,展示 3 视频读写,展示 4 绘图功能(绘制几何形状:线.圆.椭圆.矩形. ...

  3. Ant Design 入门-参照官方文档使用组件

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 先来一个按钮组件使用的对比,官方文档的(不能直接用)和实际能用的. 官网demo: import { Tabl ...

  4. 坑爹的微软官方文档:SQL无人值守安装

    我在部署项目的时候,需要用批处理无人值守安装SQLserver,.Net等组件. 于是查了微软官方文档,其中一项内容如下: http://msdn.microsoft.com/zh-cn/librar ...

  5. Tomcat官方文档关于数据源配置的内容

    虽然有网上有网友自己总结的文章,但说明得总是不够清晰,还是参考官方文档理解得比较透彻: http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html h ...

  6. python-66:BS4实例--下载BS4官方文档

    2019独角兽企业重金招聘Python工程师标准>>> 前面已经对BS4有了简单的认识和讲解,该讲的都讲了,原本也已经想好了一个实例,但是现在想往后推一推,因为我实在受不了了,我们前 ...

  7. k8s多master建议用几个_Kubernetes 教程之跟着官方文档从零搭建 K8S

    前言 本文将带领读者一起, 参照者 Kubernetes 官方文档, 对其安装部署进行讲解. Kubernetes 更新迭代很快, 书上.网上等教程可能并不能适用于新版本, 但官方文档能. 阅读这篇文 ...

  8. 文件标识符必须为双精度类型的整数值标量_【翻译】VTK官方文档 - vtk文件格式

    本文翻译自vtk官方文档:vtk_file_format 文末有链接 VTK提供了许多源对象和编写器对象,用于读取和写入流行的数据文件格式,此外,VTK也提供了自己的文件格式.创建一种数据文件格式的主 ...

  9. 深入理解Java 8 Lambda表达式(Oracle官方文档版)

    Java 8 问世三年了,9马上也要问世了,所以,嗯,我要开始学8了-- 官方文档:http://docs.oracle.com/javase/tutorial/java/javaOO/lambdae ...

最新文章

  1. 脱口秀演员入职华为?破案了:人家还是博士后研究员
  2. STM32定时器的TRGO信号
  3. PE文件格式--------------导出表
  4. 防火墙(9)——禁止某个时间段内访问我们的web
  5. 真实集群中Flink命令行各种模式提交wordcount
  6. 新的编程语言研发契机思考
  7. Understanding Web Internals--The flow of Messages
  8. 小米9来袭 雷军微博疯狂暗示:有望MWC亮相?
  9. Web API-document
  10. Linux安装virgo
  11. 客户服务与工单管理系统—工单管理
  12. ELF 文件数据分析: 全局变量
  13. html右下角图片广告,HTML580用纯JS实现右下角广告代码
  14. Exchange邮箱服务器后利用
  15. 男装品牌十如仕官宣谢霆锋为品牌代言人
  16. 电源热敏电阻计算选择
  17. C语言入门(初识C语言)
  18. 【项目三 基于A*算法的迷宫游戏开发】
  19. ..\User\stm32f10x.h(96): error: #35: #error directive: “Please select first the target STM32F10x de
  20. php微信地图定位导航,网页拉取微信内置地图(openLocation)详细教程 轻松实现一键导航 – 蓝洛水深...

热门文章

  1. vue滑动图片验证的方式
  2. 什么是底层架构_VCU故障诊断---底层(BSW)设计解析
  3. 四路抢答器的控制程序设计
  4. ubuntu 改屏幕分辨率命令_如何使用Ubuntu命令行更改屏幕分辨率?
  5. 几种典型的重介质选煤工艺
  6. 让AI变得唾手可得才是云计算的最新战场
  7. 三种监控服务器的搭建(Cacti,Nagios,Zabbix)
  8. gis平移至所选要素_详解:ArcGIS中如何实现矢量数据平移
  9. 学习笔记-第十二章 恶意代码分析实战
  10. RF表单跳转、RF 脚本、生成测试报告