Wind River Education Services Course Catalog

Wind River Education Services offers cost-effective training in various forms. Browse our course catalog below to plan and track a curriculum that will satisfy the training needs of your device software development engineers.

Data Plane Development Kit

Buy Now

Course Description

Course Results

Products Supported

Who Should Attend

Course Format

Please see course datasheet for further details here Buy Now

Course Details Summary

  • Duration: 2 Days
  • Course Information: View
  • Format: Lectures and Labs
  • Type: Instructor-led
  • Price/Schedule: View

This course presents Data Plane Development Kit (DPDK), a powerful set of highly optimized user space libraries and drivers that enable users to consolidate control and data plane platforms and execute efficient data path packet processing on Intel® architecture general purpose processors. The course covers DPDK architecture, the application programming interface (API), integration with Linux, and several data plane packet processing labs.

After this course, participants will be able to perform the following:

  • Understand the architecture of DPDK
  • Integrate and configure DPDK with Linux
  • Use the DPDK libraries and APIs
  • Implement the DPDK packet flow in a multi-core environment
  • Deploy several different data path processing applications
  • DPDK 1.7
  • Developers involved in data plane packet processing on Intel architecture general purpose processors
  • System architects and system integrators involved with the design of control and data plane systems

Day 1

Introduction to DPDK

  • Benefits of using DPDK and general purpose architecture over NPU
  • Data plane and control plane consolidation
  • Processor architectures and platforms supported
  • LAB: DPDK virtualized environment — running DPDK on QEMU-KVM virtualized machines
  • LAB: Configuration and Hello World — DPDK integration with Linux, with multi-core Hello World example

DPDK Position in the System

  • Architectural overview
  • Environment abstraction layer (EAL)
  • Data flow processing on multi-core architectures
  • Memory management on multi-core architectures
  • Inter-core communication on multi-core architectures
  • DPDK virtualization—SR-IOV, virtual functions, KVM, IVSHMEM
  • LAB: L2 forwarding — L2 forwarding application, forwarding packets between two Ethernet ports
  • LAB: DPDK SR-IOV — Setting up virtual ports with SR-IOV

Libraries

  • Memory, ring, buffer, packet, time, queue managers, flow and packet classification
  • Poll mode, emulated devices, bonding drivers, QoS, power management
  • TAP and KNI interfaces to Linux
  • DPDK API overview

System Initialization

  • Memory, cores, PCI, NIC initialization
  • I/O and application workload distribution over cores

Life of a Packet

  • Packet reception and transmission

DPDK Applications

  • Hello World on multi-core
  • L2 and L3 forwarding, LPM and hash libraries
  • Deep packet inspection (DPI)
  • LAB: Client-server — Multiprocess application: I/O and data processing operations divided between several Linux processes running on different cores

Day 2

Integration of DPDK with Wind River Linux

  • Integration of DPDK with Wind River Linux
  • LAB: Linux TAP — DPDK code transmits and receives control plane data packets between Linux kernel and Ethernet ports via TAP interfaces
  • LAB: Linux KNI — DPDK code transmits and receives control plane data packets between Linux kernel and Ethernet ports via KNI interfaces

Configuration and Building

  • Native environment set-up
  • LAB: L3 forwarding — Forwarding decision based on data packet header content processed by longest prefix match (LPM) or hash functions

Deploying DPDK Systems

  • System configuration
  • Networking configuration
  • System debugging

Benchmarking and Performance Optimization

  • Comparison on results achieved with and without the DPDK
  • Tools and methods used in DPDK performance optimization
  • Intel VTune™
  • LAB: Workbench debugging — How to use Wind River Workbench to debug DPDK-based applications

Prerequisite Course

  • None

Prerequisite Skills

  • Intermediate knowledge of data plane IP packet processing
  • Intermediate knowledge of x86 Intel architecture
  • Intermediate knowledge of Linux
  • This two-day instructor-led course consists of lectures and lab sessions.
  • Students gain hands-on experience and receive personal guidance from expert Wind River® instructors.
  • Students examine and exercise simulated network topologies in hands-on labs.
  • Specific questions are addressed.