Skip to content

awaiskhalidawan/dpdk-tutorials

Repository files navigation

DPDK Tutorials

This repository contains DPDK tutorials.

1-reading-a-packet-from-nic : This tutorial explains simple steps for beginners to read a packet from NIC interface using DPDK. To execute: sudo ./reading-a-packet-from-nic --lcores=0 -n 4 --

2-sending-a-packet-from-nic : This tutorial explains simple steps for beginners to transmit a packet from NIC interface using DPDK. To execute: sudo ./sending-a-packet-from-nic --lcores=0 -n 4 --

3-processing-a-packet : This tutorial explains simple steps for beginners to receive a packet from NIC and share this packet to the processing thread via ring buffer to process it. To execute: sudo ./processing-a-packet --lcores=0-1 -n 4 --

4-getting-nic-statistics : This tutorial explains simple steps for beginners to get the statistics from NIC. To execute: sudo ./getting-nic-statistics --lcores=0 -n 4 --

5-ipv4-checksum-calculation-offloading-to-nic : This tutorial explains how to offload Ipv4 checksum calculation to NIC so that our application don't have to compute it. In this way we save computing resources. To execute: sudo ./ipv4-checksum-calculation-offloading-to-nic --lcores=0 -n 4 --

6-receive-side-scaling : This tutorial explains how to make use of multiple receive queues of NIC (Network Interface Card) using RSS (Receive Side Scaling). To execute: sudo ./receive-side-scaling --lcores=0-1 -n 4 --

7-telemetry-in-dpdk : This tutorial explains how to use telemetry in DPDK application. It implements a customized telemetry callback function to send specific info to DPDK telemetry client (dpdk-telemetry.py). To execute: sudo ./telemetry-in-dpdk --lcores=0 -n 4 --. After this, run the dpdk telemetry client sudo /dpdk-23.11/usertools/dpdk-telemetry.py. Once it is started, run the command /dpdk_app/packet_info to receive specific telemetry information from our DPDK application.

8-multiprocess-communication : This tutorial explains how DPDK applications can communicate with each other via shared memory ring buffers. This tutorial implements a DPDK application which can be executed as a primary or a secondary dpdk application.Primary DPDK process sends packets to secondary DPDK process via shared memory ring buffers. To execute primary DPDK process: sudo ./multiprocess-communication --lcores=0@0 -n 4 --proc-type=primary -- ring_buffer_1. To execute secondary DPDK process: sudo ./multiprocess-communication --lcores=0@0 -n 4 --proc-type=secondary -- ring_buffer_1

To build the project:
mkdir build
cd build
cmake ..
make

The binaries will be generated in bin folder.

For any queries or problems feel free to reach at awais.khalid.awan@gmail.com

About

DPDK Tutorials

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published