-
Feature Request
-
Resolution: Unresolved
-
Normal
-
None
-
None
-
None
-
None
-
Product / Portfolio Work
-
None
-
None
-
None
-
None
-
None
-
None
-
-
None
-
None
-
None
-
None
-
None
Currently, the documented and officially supported method for using DPDK with VMs on OpenShift Virtualization relies on SRIOV [1]. This imposes a requirement for specific SRIOV-capable NIC hardware and can add complexity to the deployment and management of network-intensive VMs. Alternative virtualization platforms, such as VMware, support DPDK effectively using paravirtualized drivers like VMXNET3 without requiring SRIOV [2]. The VirtIO driver, used by OpenShift Virtualization, also has documented DPDK support [3], but it looks like this has not been formally tested, documented, or supported for OpenShift Virtualization.
2. Motivation / User Benefits:
Implementing and supporting DPDK via VirtIO would:
- Increase Hardware Flexibility: Allow users to run DPDK workloads on hardware that does not support SRIOV or where SRIOV VFs are limited.
- Reduce Complexity: Potentially simplify the setup and configuration of DPDK-enabled VMs compared to SRIOV.
- Lower Potential Costs: Reduce the need for specialized SRIOV NICs.
- Broaden Adoption: Make OpenShift Virtualization a more versatile platform for various Network Function Virtualization (NFV) and other high-performance packet processing applications.
3. Proposed Solution: Investigate, implement, test, and document the use of the VirtIO Poll Mode Driver (PMD) for DPDK applications running within VMs on OpenShift Virtualization. This includes:
- Ensuring necessary VirtIO drivers and features (e.g., vhost-user, multiqueue) are optimally configured and exposed by OpenShift Virtualization.
- Validating performance and stability.
4. Acceptance Criteria (Definition of Done):
- DPDK applications can be successfully deployed and run in a VM on OpenShift Virtualization using VirtIO interfaces (without SRIOV).
- Performance characteristics (throughput, latency, CPU utilization) are benchmarked and documented (even if the performance result is not ideal due to virtualized characteristics).
- Documentation is available guiding users on how to configure OpenShift Virtualization and VMs for DPDK using VirtIO.
- The configuration is officially supported by Red Hat.
5. Supporting Information:
[1] Current OpenShift Virtualization DPDK documentation (SRIOV only): https://docs.redhat.com/en/documentation/openshift_container_platform/4.18/html/virtualization/networking#virt-configuring-vm-dpdk_virt-using-dpdk-with-sriov
[2] VMXnet3 driver DPDK support: https://doc.dpdk.org/guides/nics/vmxnet3.html
[3] VirtIO driver DPDK support: https://doc.dpdk.org/guides/nics/virtio.html