Visible to Intel only — GUID: het1621438971074
Ixiasoft
3.5.2.6.1. Build and Install Netdev Driver
3.5.2.6.2. Enable VFs if SRIOV is Supported
3.5.2.6.3. Configure the Number of Channels Supported on the Device
3.5.2.6.4. Configure the MTU Value
3.5.2.6.5. Configure the Device Communication
3.5.2.6.6. Configure Transmit Queue Selection Mechanism
3.5.2.6.7. Test Procedure by Using Name Space Environment
3.5.2.6.8. PIO Test
Visible to Intel only — GUID: het1621438971074
Ixiasoft
3.5.2.2. Driver Support
The table below summarizes the driver support for the MCDMA design example variants. It uses the following acronyms:
- User Space I/O (UIO): A kernel base module that the PCIe device uses to expose its resources to user space.
- Virtual Function I/O (VFIO) driver: An IOMMU/device agnostic framework for exposing direct device access to user space in a secure, IOMMU-protected environment.
- Data Plane Development Kit (DPDK): Consists of libraries to accelerate packet processing workloads running on a wide variety of CPU architectures.
Custom Driver | DPDK Driver | Kernel Mode Chardev Driver | Kernel Mode Netdev Driver | |
---|---|---|---|---|
Description | Also known as the user mode driver, this driver is created to support both UIO and VFIO base kernel modules. This driver provides custom APIs and can be used without depending on any framework. | This DPDK Poll Mode Driver (PMD) uses the DPDK framework. The PMD will expose the device as an ethernet device. It supports both UIO and VFIO base kernel modules. Existing DPDK applications can be integrated with the MCDMA PMD. | Kernel Mode Chardev Driver exposes the MCDMA IP through the char dev interface & using standard char dev file operations performs DMA transfers. | Kernel Mode Netdev Driver exposes the MCDMA IP as a Network Device and enables standard applications to perform network data transfers using the Linux network stack. |
Directory/Driver Path | <example_design>/software/user | <example_design>/software/dpdk | <example_design>/software/kernel/ | <example design>/software/kernel/ |
SR-IOV Support | Yes | Yes | No | Yes |
MCDMA AVMM 1-port DMA Design Example | Yes, up to 2K channels | Yes, up to 2K channels | Yes, up to 2 K channels | No |
MCDMA AVMM 1-port DMA with SR-IOV Design Example | Yes, up to 2K channels | Yes. up to 2k channels | No | No |
Bursting Master AVMM PIO using MQDMA Bypass Mode Design Example | Yes | Yes | No | No |
Bursting Slave AVMM PIO using MQDMA Bypass Mode Design Example | Yes | Yes | No | No |
MCDMA AVST 4-port Device-side Packet Loopback Design Example | Yes, 1 channel per port | Yes, 1 channel per port | Yes, 1 channel per port | No |
MCDMA AVST 4-port Packet Generate/Check Design Example | Yes, 1 channel per port | Yes, 1 channel per port | Yes, 1 channel per port | No |
MCDMA AVST 4-Port PIO using MQDMA Bypass Mode Design Example | Yes | Yes | No | No |
MCDMA AVST 1-port Device-side Packet Loopback Design Example | Yes | Yes, same as custom mode driver | Yes | Yes |
MCDMA AVST 1-port Packet Generate/Check Design Example | Yes | Yes | Yes | No |
MCDMA AVST 1-port PIO using MQDMA Bypass Mode Design Example | Yes | Yes | No | No |
MCDMA AVST 1-port Device-side Packet Loopback with SR-IOV Design Example | Yes | Yes | No | Yes |
MCDMA AVST 1-port Packet Generate/Check with SR-IOV Design Example | Yes | Yes | No | No |