Visible to Intel only — GUID: het1621438971074
Ixiasoft
Visible to Intel only — GUID: het1621438971074
Ixiasoft
3.5.2.2. Driver Support
Check the kernel version using this command:
$ uname -r
Expected output:
5.15.0-xx-generic
If this is not the kernel version in your Ubuntu 22.04 system, follow the steps below. These steps will change the kernel from HWE to GA Linux 5.15.0-xx-generic and install Linux headers and gcc required for the MCDMA drivers.
sudo apt install linux-image-generic
// Install GA.
// Reboot into the newly-installed older kernel.
sudo apt remove linux-generic-hwe-22.04
// Remove HWE.
sudo apt autoremove
// Clean up.
sudo apt-get install linux-headers-generic gcc
Check the gcc version using this command:
$ gcc --version
If the gcc is not gcc-11, install gcc-11 using this command:
$ sudo apt install gcc-11
To switch between the installed gcc versions, use the update-alternatives tool and select gcc-11.
$ sudo update-alternatives --config gcc
- 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.
- p0_software folder is generated for 1x16 Hard IP modes.
- p1_software folder is generated for 2x8 Hard IP modes.
- p2_software and p3_software folders are generated only for 4x4 Hard IP modes.
Parameter | Custom Driver | DPDK Driver | Kernel Mode Netdev Driver |
---|---|---|---|
Description | Also known as the user mode driver, this driver is created to support both UIO and VFIO base kernelmodules. 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 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>/pX_software/user | <example_design>/pX_software/dpdk | <example design>/pX_software/kernel/ |
SR-IOV Support | Yes | Yes | Yes |
Multi channel DMA Avalon-MM DMA Design Example | Yes, up to 2K Channels | Yes, up to 2K Channels | No |
Multi channel DMA Avalon-MM DMA with SRIOV Design Example | Yes, up to 2K Channels | Yes, up to 2K Channels | No |
BAM+BAS+MCDMA Avalon-MM DMA Design Example | Yes, up to 2K Channels | Yes, up to 2K Channels | No |
BAM+BAS+MCDMA Avalon-MM DMA with SR-IOV Design Example | Yes, up to 2K Channels | Yes, up to 2K Channels | No |
Multi channel DMA Avalon-MM PIO using MQDMA Bypass Mode Design Example | Yes | Yes | No |
Multi channel DMA Avalon-ST 1-port PIO using MQDMA Bypass Mode Design Example | Yes | Yes | Yes |
BAM+BAS+MCDMA Avalon-MM PIO using MQDMA Bypass Mode Design Example | Yes | Yes | No |
BAM+BAS+MCDMA Avalon-ST 1-Port PIO using MQDMA Bypass Mode Design Example | Yes | Yes | No |
Bursting Master PIO using MQDMA Bypass Mode Design Example | Yes | Yes | No |
Bursting Slave PIO using MQDMA Bypass Mode Design Example | Yes | Yes | No |
BAM+BAS PIO using MQDMA Bypass Mode Design Example | Yes | Yes | No |
Data Mover Only PIO using MQDMA Bypass Mode Design Example | Yes | No | No |
Multi channel DMA Avalon 1-port Device-side Packet Loopback Design Example | Yes | Yes, 256 channels | Yes, support 4 PFs, 64 channel per PF |
Multi channel DMA Avalon 1-port Device-side Packet Loopback with SRIOV Design Example | Yes | Yes, 256 channels | No |
Multi channel DMA Avalon1-port Packet Generate/ Check Design Example | Yes | Yes, 256 channels | No |
Multi channel DMA Avalon 1-port Packet Generate/ Check with SR-IOV Design Example | Yes | No | No |
BAM+BAS Traffic Generator/Checker Design Example | Yes | Yes | No |
Data Mover Only External Descriptor Controller Design Example | Yes | No | No |