DPDK Introduction

Data Plane Development Kit(DPDK) is a set of libraries and drivers for fast packet processing. It was designed to run on any processors. The first supported CPU was Intel x86 and it is now extended to IBM Power 8, EZchip TILE-Gx and ARM. It runs mostly in Linux userland. A FreeBSD port is available for a subset of DPDK features.

Main libraries
  • multicore framework
  • huge page memory
  • ring buffers
  • poll-mode drivers
The DPDK includes data plane libraries and optimized NIC drivers for the following
  • A queue manager implements lockless queues
  • A buffer manager pre-allocates fixed size buffers
  • A memory manager allocates pools of objects in memory and uses a ring to store free objects; ensures that objects are spread equally on all DRAM channels
  • Poll mode drivers (PMD) are designed to work without asynchronous notifications, reducing overhead
  • A packet framework – set of libraries that are helpers to develop packet processing

All libraries are stored in the dpdk/lib/librte_* directories

What it is not

DPDK is not a networking stack and does not provide functions such as Layer-3 forwarding, IPsec, firewalling, etc. Within the tree, however, various application examples are included to help developing such features.

References
时间: 2024-08-23 23:40:18

DPDK Introduction的相关文章

[中英对照]Introduction to DPDK: Architecture and Principles

Introduction to DPDK: Architecture and Principles | DPDK概论:体系结构与实现原理 Linux network stack performance has become increasingly relevant over the past few years. This is perfectly understandable: the amount of data that can be transferred over a network

TRex,一个基于DPDK的数据包发生器,测试仪

1. introduction TRex是cisco基于Intel dpdk开发的软件程序.推荐在CentOS/RHEL 7.6, 64bits中运行,否则connectx-4网卡不可使用. 笔者在Ubuntu16.04中Intel-XL710网卡测试也成功. 使用中高端服务器和最新的Intel网卡,TRex的发包性能可达到200Gbps,使用某些类型的网卡还支持基于硬件的每流统计量汇报(Intel-XL710 支持255条独立流). 2. installation mkdir -p /opt/

Spring AOP之Introduction(@DeclareParents)简介

Spring的文档上对Introduction这个概念和相关的注解@DeclareParents作了如下介绍: Introductions (known as inter-type declarations in AspectJ) enable an aspect to declare that advised objects implement a given interface, and to provide an implementation of that interface on be

Introduction and Basic concepts

1 Network Edge The device such as computers and mobiles connect to the Internet. So they are referred as end systems(who run the application programs) sitting at the edge of the Internet. And we use host and end system interchangeably, that is host=e

guide dpdk

Welcome to DPDK Guide! Contents: Setting up DPDK Important Prerequisites Setting up repositories Red Hat Enterprise Linux Fedora Installing DPDK and related software Hugepages 2M Hugepages 1G Hugepages IOMMU Binding NIC drivers VFIO VFIO no-IOMMU UIO

spdk dpdk编译动态库( shared library )

1,dpdk编译共享库 默认情况下都编译出静态库,如果想编译出动态库,把config/common_base文件中的CONFIG_RTE_BUILD_SHARED_LIB改成y即可. 2,spdk编译共享库 修改mk/spdk.common.mk: # Archive $(OBJS) into [email protected] (.so) # Archive $(OBJS) into [email protected] (.a) # LIB_C=\ #       $(Q)echo "  LI

Introduction to Machine Learning

Chapter 1 Introduction 1.1 What Is Machine Learning? To solve a problem on a computer, we need an algorithm. An algorithm is a sequence of instructions that should be carried out to transform the input to output. For example, one can devise an algori

The basic introduction to MIX language and machine

reference: The MIX Computer, The MIX Introduction sets, The basic info storage unit in MIX computer is the byte, which stores positive values in the range of 0 to 63. In MIX, Byte only has 6 bytes, and the word Byte refer to MIX 6-byte. A MIX word is

PyQt5 Introduction and components

在开始写代码以前,对PyQt5整体大致了解一下还是有必要的.这方面的东西看看PyQt5官方给出的文档就好,下面就是我从文中截取的部分内容: Introduction PyQt5 is a set of Python bindings for v5 of the Qt application framework from The Qt Company. Qt is a set of C++ libraries and development tools that includes platform