Programmer’s Guide

Figures

Figure Core Components Architecture

Figure EAL Initialization in a Linux Application Environment

Figure Example of a malloc heap and malloc elements within the malloc library

Figure Ring Structure

Figure Enqueue first step

Figure Enqueue second step

Figure Enqueue last step

Figure Dequeue last step

Figure Dequeue second step

Figure Dequeue last step

Figure Multiple producer enqueue first step

Figure Multiple producer enqueue second step

Figure Multiple producer enqueue third step

Figure Multiple producer enqueue fourth step

Figure Multiple producer enqueue last step

Figure Modulo 32-bit indexes - Example 1

Figure Modulo 32-bit indexes - Example 2

Figure Two Channels and Quad-ranked DIMM Example

Figure Three Channels and Two Dual-ranked DIMM Example

Figure A mempool in Memory with its Associated Ring

Figure An mbuf with One Segment

Figure An mbuf with Three Segments

Figure Memory Sharing in the DPDK Multi-process Sample Application

Figure Components of a DPDK KNI Application

Figure Packet Flow via mbufs in the DPDK KNI

Figure vHost-net Architecture Overview

Figure KNI Traffic Flow

Figure Complex Packet Processing Pipeline with QoS Support

Figure Hierarchical Scheduler Block Internal Diagram

Figure Scheduling Hierarchy per Port

Figure Internal Data Structures per Port

Figure Prefetch Pipeline for the Hierarchical Scheduler Enqueue Operation

Figure Pipe Prefetch State Machine for the Hierarchical Scheduler Dequeue Operation

Figure High-level Block Diagram of the DPDK Dropper

Figure Flow Through the Dropper

Figure Example Data Flow Through Dropper

Figure Packet Drop Probability for a Given RED Configuration

Figure Initial Drop Probability (pb), Actual Drop probability (pa) Computed Using a Factor 1 (Blue Curve) and a Factor 2 (Red Curve)

Figure Example of Packet Processing Pipeline where Input Ports 0 and 1 are Connected with Output Ports 0, 1 and 2 through Tables 0 and 1

Figure Sequence of Steps for Hash Table Operations in a Packet Processing Context

Figure Data Structures for Configurable Key Size Hash Tables

Figure Bucket Search Pipeline for Key Lookup Operation (Configurable Key Size Hash Tables)

Figure Data Structures for 8-byte Key Hash Tables

Figure Data Structures for 16-byte Key Hash Tables

Figure Bucket Search Pipeline for Key Lookup Operation (Single Key Size Hash Tables)

Tables

Table Packet Processing Pipeline Implementing QoS

Table Infrastructure Blocks Used by the Packet Processing Pipeline

Table Port Scheduling Hierarchy

Table Scheduler Internal Data Structures per Port

Table Ethernet Frame Overhead Fields

Table Token Bucket Generic Operations

Table Token Bucket Generic Parameters

Table Token Bucket Persistent Data Structure

Table Token Bucket Operations

Table Subport/Pipe Traffic Class Upper Limit Enforcement Persistent Data Structure

Table Subport/Pipe Traffic Class Upper Limit Enforcement Operations

Table Weighted Round Robin (WRR)

Table Subport Traffic Class Oversubscription

Table Watermark Propagation from Subport Level to Member Pipes at the Beginning of Each Traffic Class Upper Limit Enforcement Period

Table Watermark Calculation

Table RED Configuration Parameters

Table Relative Performance of Alternative Approaches

Table RED Configuration Corresponding to RED Configuration File

Table Port Types

Table 20 Port Abstract Interface

Table Table Types

Table Configuration Parameters Common for All Hash Table Types

Table Configuration Parameters Specific to Extendable Bucket Hash Table

Table Configuration Parameters Specific to Pre-computed Key Signature Hash Table

Table Main Large Data Structures (Arrays) used for Configurable Key Size Hash Tables

Table Field Description for Bucket Array Entry (Configurable Key Size Hash Tables)

Table Description of the Bucket Search Pipeline Stages (Configurable Key Size Hash Tables)

Table Lookup Tables for Match, Match_Many and Match_Pos

Table Collapsed Lookup Tables for Match, Match_Many and Match_Pos

Table Main Large Data Structures (Arrays) used for 8-byte and 16-byte Key Size Hash Tables

Table Field Description for Bucket Array Entry (8-byte and 16-byte Key Hash Tables)

Table Description of the Bucket Search Pipeline Stages (8-byte and 16-byte Key Hash Tables)

Table Next Hop Actions (Reserved)

Table User Action Examples

Table Entry distribution measured with an example table with 1024 random entries using jhash algorithm

Table Entry distribution measured with an example table with 1 million random entries using jhash algorithm

Previous topic

40. IPsec Security Gateway Sample Application

Next topic

1. Introduction

This Page