
1h12m hours on-demand video
1 Sections, 7 Lectures
0 downloadable resources
Assignments
Certificate of Completion
Access on mobile and TV
Affiliate Marketing
Available on Udemy and CSEPracticals
Life Time Access
Understand DPDK architecture and how it enables high-performance packet processing in user space.
Learn how NICs work, including RX/TX queues, descriptor rings, DMA, and Poll Mode Drivers (PMDs).
Configure DPDK environments, hugepages, logical cores, memory pools, and packet buffers using C
Implement packet reception, parsing, processing, and transmission using DPDK APIs.
Build and test a DPDK-powered software network device, and learn the fundamentals of multicore packet processing and performance optimization.
Basic knowledge of computer networking concepts, including Ethernet, IP addresses, and packet forwarding.
Familiarity with C programming, including pointers, structures, memory management, and bitwise operations.
Basic understanding of Linux commands, shell usage, and compiling C programs using GCC.
A Linux development environment, preferably Ubuntu, with permission to install packages and configure system resources.
No prior DPDK experience is required. Knowledge of NIC hardware, DMA, hugepages, and packet-processing internals is helpful but will be taught as part of the course.
Networking Engineers who want to understand how high-performance software routers and network appliances process packets using DPDK.
C/C++ Systems Programmers interested in low-level programming, memory management, NIC queues, DMA, and high-performance packet processing.
Network Software Developers working with routing protocols, switching, packet forwarding, or data-plane development who want hands-on experience building a DPDK-powered network device.
Computer Science and Electronics Students who want practical exposure to network device internals, operating systems, computer networks, and hardware–software interaction.
Linux and Infrastructure Engineers who want to explore user-space networking, Poll Mode Drivers (PMDs), multicore packet processing, and performance optimization for network-intensive applications.
Learn how to build a high-performance software network device using DPDK (Data Plane Development Kit) and C programming.
In this hands-on course, you will explore how network packets are received, processed, and transmitted directly through NIC hardware queues using DPDK's Poll Mode Drivers (PMDs).
Understand the internals of RX/TX queues, ring descriptors, DMA, hugepages, packet buffers (rte_mbuf), memory management, and efficient packet processing. Move beyond simply using DPDK APIs and develop a deeper understanding of how user-space packet processing works, how it differs from the traditional Linux kernel networking path, and how these concepts can be applied to building your own software router or network appliance.
This course is designed for networking engineers, system programmers, and students who want practical experience with C, NIC internals, and high-performance data-plane development.
Section 1 — Introduction to High-Performance Networking
Section 2 — NIC Architecture and Packet Processing
Section 3 — DPDK Environment Setup
Section 4 — DPDK EAL and Memory Management
Section 5 — Poll Mode Drivers and NIC Queue Initialization
Section 6 — Building the Packet RX/TX Engine
Section 7 — Parsing and Processing Network Packets
Section 8 — Multicore Packet Processing
Section 9 — Performance Optimization and Benchmarking
Section 10 — Beyond Basic Forwarding
Section 11 — Final Project: Build Your Own DPDK Network Device
Section 12 — Next Steps and Advanced Topics
No chapter found in this course