Multi Channel DMA IP for PCI Express* Design Example User Guide
ID
683517
Date
8/04/2025
Public
3.5.1. Hardware Requirements
3.5.2. Software Requirements
3.5.3. Set Up the Hardware and Program the FPGA
3.5.4. Configuration Changes from BIOS
3.5.5. Installing the Required Kernel Version for Ubuntu v24.04
3.5.6. Set the Boot Parameters
3.5.7. MCDMA Custom Driver
3.5.8. MCDMA DPDK Poll Mode Driver
3.5.9. MCDMA Kernel Mode Network Device Driver
3.5.8.3.3. Avalon-ST Device-side Packet Loopback (Device-side Packet Loopback)
The DPDK driver can also be used with the AVST/AXIST Device-side Packet Loopback design example to test loopback.
The following diagram shows the testing strategy.

Run the command below to perform a loopback test after completing the instructions outlined in Prerequisites:
$ cd dpdk-stable/build/examples/mcdma-test/perfq
$ sudo ./build/mcdma-test -m 8192 --file-prefix=pf0 -l 0-15 \ -- -b 0000:01:00.0 -p 32768 -d 2 -c 1 -a 2 -l 5 -i
Configuration:
- Memory allocation size (-m 8192)
- Physical function number (--file-prefix=pf0)
- Number of CPU cores (-l 0-15), to match the output from “sudo lscpu | grep NUMA” command.
- BDF (-b 0000:01:00.0)
- Total of two threads (-a 2)
- 1 DMA channel (-c 1)
- Bidirectional H2D-D2H loopback (-i)
- Payload length of 32,768 bytes in each descriptor (-p 32768)
- Transfer the data every 5 seconds (-l 5)
- Dump the progress log every second (-d 2)
Figure 45. Results of Loopback Test
