Thursday 25 August 2016

DPDK

The main goal of the Intel® DPDK is to provide a simple, complete framework for fast
packet processing in data plane applications.
The framework creates a set of libraries for specific environments through the creation
of an Environment Abstraction Layer (EAL), which may be specific to a mode of the
Intel® architecture (32-bit or 64-bit), Linux* user space compilers or a specific
platform.

Once these libraries are created for the specific environment and architecture, they
may then be used to create the user’s data plane application.
When creating applications for the Linux user space, the glibc library is used.

Core Components
-Memory Manager (librte_malloc)
-Ring Manager (librte_ring)
-Memory Pool Manager (librte_mempool)
-Network Packet Buffer Management (librte_mbuf)
-Timer Manager (librte_timer)
-Hash (librte_hash) and Longest Prefix Match (LPM, librte_lpm) libraries to support the corresponding packet forwarding algorithms.

For the storage of the packet data (including protocol headers),
Embed metadata within a single memory buffer the structure followed by a fixed
size area for the packet data.
The Buffer Manager uses the Mempool Library to allocate buffers. Therefore, it ensures
that the packet header is interleaved optimally across the channels and ranks for L3
processing.

No comments:

Post a Comment