DPDK应用示例指南简介

《DPDK示例》系列文章主要是学习、记录、翻译DPDK官方示例文档。为了更好地理解和学习DPDK, 特通过对源码中的经典示例进行整理,供大家学习、交流和讨论。


  • Author : Toney
  • Email : vip_13031075266@163.com
  • Date : 2020.11.11
  • Copyright : 未经同意不得转载!!!
  • Version : dpdk-2.2.0
  • Reference

1. DPDK应用示例介绍

DPDK 示例应用程序是小型独立应用程序,它演示 了DPDK 的各种功能。这些示例可以被视为 DPDK 功能的说明书。有兴趣使用 DPDK 的用户可以获取应用程序,试用这些功能,然后扩展它们以满足其需求。

1.1 DPDK应用示例

下表中列出了在DPDK源码examples目录中一些主要的应用示例。

Bonding Netmap Compatibility
Command Line Packet Ordering
Distributor Performance Thread
Ethtool Precision Time Protocol (PTP) Client
Exception Path Quality of Service (QoS) Metering
Hello World QoS Scheduler
Internet Protocol (IP) Fragmentation Quota and Watermark
IP Pipeline RX/TX Callbacks
IP Reassembly Server node EFD
IPsec Security Gateway Basic Forwarding/Skeleton App
IPv4 multicast Tunnel End Point (TEP) termination
Kernel NIC Interface Timer
Network Layer 2 Forwarding + variants Vhost
Network Layer 3 Forwarding + variants Vhost Xen
Link Status Interrupt VMDQ Forwarding
Load Balancer VMDQ and DCB Forwarding
Multi-process VM Power Management

这些示例从简单到复杂,但大多数都旨在演示 DPDK 的一个特定功能。下面将重点介绍一些更有趣的示例。

  • Hello World(Hello World):与大多数编程框架的介绍一样,一个好的开始是Hello World应用程序。Hello World 示例设置 DPDK 环境抽象层 (EAL),并打印一个简单的"Hello World"消息到每个启用 DPDK 的核心。此应用程序不执行任何数据包转发,但它是测试 DPDK 环境是否编译和正确设置的一个很好的方法。
  • 基本转发框架(Basic Forwarding/Skeleton App):基本转发/骨架包含使用DPDK 启用基本数据包转发所需的最小代码量。这允许您测试网络接口是否使用 DPDK。
  • 二层转发(Network Layer 2 Forwarding):网络第 2 层转发,或者应用程序确实基于以太网 MAC 地址进行转发,就像一个简单的交换机。l2fwd
  • 三层转发(Network Layer 3 Forwarding):网络第 3 层转发,或应用程序确实基于互联网协议、IPv4 或 IPv6 进行转发,就像一个简单的路由器。l3fwd
  • 数据包分发器(Packet Distributor):数据包分发器演示如何将到达 Rx 端口的数据包分发到不同的内核进行处理和传输。
  • 多进程应用程序(Multi-process Application):多进程应用程序显示两个 DPDK 进程如何使用队列和内存池来共享信息。
  • RX/TX回调应用程序(RX/TX Callbacks Application) :RX/TX回调示例应用程序是一个数据包转发应用程序,演示用户在接收和传输的数据包上使用用户定义的回调。应用程序通过向 RX 和 TX 数据包处理函数添加回调来计算 RX(数据包到达)和 TX(数据包传输)之间的数据包延迟。
  • IPSec 安全网关(IPsec Security Gateway):IPSec 安全网关应用程序是更接近真实示例的最小示例。这也是使用 DPDK Cryptodev 框架的应用程序的一个很好的示例。
  • 精度时间协议 (Precision Time Protocol (PTP) Client)客户端:PTP 客户端是实际应用程序的另一个最小实现。在这种情况下,应用程序是一个 PTP 客户端,它与 PTP 主时钟通信,使用 IEEE1588 协议在网络接口卡 (NIC) 上同步时间。
  • 服务质量调度程序 (QoS Scheduler) :QoS 调度程序应用程序演示使用 DPDK 提供 QoS 调度。

在后续文章中会学习文档中提供的多个应用示例。并且对示例应用程序都演示如何编译、配置和运行应用程序,以及解释代码的主要功能。


DPDK应用示例指南简介(汇总)的更多相关文章

  1. OSG中的示例程序简介

    OSG中的示例程序简介 转自:http://www.cnblogs.com/indif/archive/2011/05/13/2045136.html 1.example_osganimate一)演示 ...

  2. OSG中的示例程序简介(转)

    OSG中的示例程序简介 1.example_osganimate一)演示了路径动画的使用 (AnimationPath.AnimationPathCallback),路径动画回调可以作用在Camera ...

  3. 第一个Mybatis程序示例 Mybatis简介(一)

    在JDBC小结中(可以参阅本人JDBC系列文章),介绍到了ORM,其中Mybatis就是一个不错的ORM框架 MyBatis由iBatis演化而来 iBATIS一词来源于“internet”和“aba ...

  4. 计算机视觉--CV技术指南文章汇总

    前言  本文汇总了过去本公众号原创的.国外博客翻译的.从其它公众号转载的.从知乎转载的等一些比较重要的文章,并按照论文分享.技术总结三个方面进行了一个简单分类.点击每篇文章标题可阅读详细内容 欢迎关注 ...

  5. [dpdk] 读开发指南(2)(内容长期整理中)

    接续前节. 7 PMD (Poll Mode Driver) A Poll Mode Driver (PMD) consists of APIs, provided through the BSD d ...

  6. [dpdk] 读开发指南(1)

    该文档是随着对于文档的阅读进度,不断增加的阅读笔记.主要内容以大纲为主,以及记录帮助记忆的内容. 在之后的实际应用中,也不随着不断的深入理解,逐渐丰富各大纲下面的内容. 1. 前期准备:设置两个环境变 ...

  7. Java 设计模式 -- 示例指南

    设计模式在软件开发者中非常受欢迎的.每个设计模式都是对常见软件问题的通用的描述解决方案. 我们使用设计模式的好处有: 1.设计模式已经对于一个重复出现的问题进行了定义并且提供了工业标准的解决方案,因为 ...

  8. Rest Framework简介 和 RESTful API 设计指南

    使用Django Rest Framework之前我们要先知道,它是什么,能干什么用? Django Rest Framework 是一个强大且灵活的工具包,用以构建Web API 为什么要使用Res ...

  9. python_面向对象魔法方法指南

    原文: http://www.rafekettler.com/magicmethods.html 原作者: Rafe Kettler 翻译: hit9 原版(英文版) Repo: https://gi ...

随机推荐

  1. 总结开发中基于DevExpress的Winform界面效果

    DevExpress是一家全球知名的控件开发公司, DevExpress 也特指此公司出品的控件集合或某系列控件或其中某控件.我们应用最为广泛的是基于Winform的DevExpress控件组,本篇随 ...

  2. noip模拟测试22

    考试总结:这次考试题,有好多部分分,导致了我在考试过程中一心想拿到这些部分分,对于正解没有留出时间进行思考,这是一个教训,在以后的考试中我一定要留出足够的思考时间,不要被部分分限制.还有,我的部分分也 ...

  3. 自学linux——4.Linux的自有服务(基础篇)

    linux自有服务(内置) 一.运行级别(模式) 在Linux中存在一个进程:init,进程id是1. 查看进程:#ps -ef|grep init 对应的配置文件:inittab(运行级别配置文件位 ...

  4. 985硕艰难转行Android之路 加面经分享

    个人情况介绍 本人为某末流985工科硕士,说来令人感慨,我的考研之路异常曲折,每次都觉得自己能十拿九稳,结果每次都阴差阳错,失之交臂,第一次因为那年目标院校大幅度提升初试线,导致差一分未过线,第二次换 ...

  5. 【原创】在macOS Big Sur (Silicon M1, ARM)中配置ASP运行环境

    亲测有效,转载请附原文地址. 一,安装Parallels Desktop,注意选择支持ARM的版本. 二,注册 Windows Insider Preview Downloads 账号,通过以下链接下 ...

  6. MIT6.828 La5 File system, Spawn and Shell

    Lab 5: File system, Spawn and Shell 1. File system preliminaries 在lab中我们要使用的文件系统比大多数"真实"文件 ...

  7. 使用PageFactory类封装页面元素,并实现简单的登录

    1.新建页面对象类LoginPage import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; impo ...

  8. DVWA(三):SQL injection 全等级SQL注入

    (本文不定期更新) 一.所需环境: 1.DVWA 2.web环境 phpstudy/wamp 3.burp suite 二.SQL注入产生的原因: 程序员在编写代码的时候,没有对用户输入数据的合法性进 ...

  9. .Net Core with 微服务 - 分布式事务 - TCC

    上一次我们讲解了分布式事务的 2PC.3PC .那么这次我们来理一下 TCC 事务.本次还是讲解 TCC 的原理跟 .NET 其实没有关系. TCC Try 准备阶段,尝试执行业务 Confirm 完 ...

  10. C#设计模式---PipeLine

    一.概述 顾名思义,管道模式就像一条管道把多个对象连接起来,整体看起来就像若干个阀门嵌套在管道中,而处理逻辑就放在阀门上,如下图,需要处理的对象进入管道后,分别经过阀门一.阀门二.阀门三.阀门四,每个 ...