Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-107469

VDUSE backend fails to intialize Virtio-user PMD with Vhost-vDPA

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • rhel-9.6
    • dpdk
    • Yes
    • Moderate
    • 3
    • rhel-net-ovs-dpdk
    • None
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • FDP-OVS/DPDK Sprint 8, OVS/DPDK - Sprint 9 - West, OVS/DPDK - Sprint 10 - West
    • None
    • None
    • Unspecified
    • Unspecified
    • Unspecified
    • x86_64
    • None

      What were you trying to do that didn't work?

       

      In the scope of OVS-DPDK on OCP PoC (FDP-1286), we need to run a DPDK application as

      workload using Virtio-user PMD with Vhost-vDPA.

      The Vhost-vDPA backend is attached to a VDUSE device exposed by OVS-DPDK.

      With DPDK v24.11, we notice the device fails to initialize (see logs below)

      What is the impact of this issue to you?

      We cannot test our usecase using DPDK v24.11

      Please provide the package NVR for which the bug is seen:

      dpdk-24.11.1-1.el9

      How reproducible is this bug?:

      100%

      Steps to reproduce

      1. Setup OVS-DPDK for VDUSE and VMs as described in https://gitlab.com/mcoquelin/vduse-doc/
      2. Instead of using VMs, install DPDK and use this command:
      3. dpdk-testpmd -m 1024 --no-pci --vdev 'virtio_user0,path=/dev/vhost-vdpa-0,queues=1,queue_size=1024' --log-level eal:debug -- --forward-mode=txonly --txq=1 --rxq=1 -i
      1. start forwarding, no packets flow to OVS, and error logs appear in ovs-vswitchd.log

      Expected results

       

      Device initializes properly, packets flow

      Actual results

       

       

       
      2025-08-04T12:06:28.198Z|00094|netdev_dpdk|INFO|vHost User device 'vduse1' created in 'client' mode, using client socket '/dev/vduse/vduse1'
      2025-08-04T12:06:28.198Z|00095|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse1) Setting max queue pairs to 1
      2025-08-04T12:06:28.198Z|00096|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse1) VDUSE max queue pairs: 1
      2025-08-04T12:06:28.198Z|00097|dpif_netdev|INFO|Performing pmd to rx queue assignment using cycles algorithm.
      2025-08-04T12:06:28.198Z|00098|dpif_netdev|INFO|Core 88 on numa node 0 assigned port 'vduse0' rx queue 0 (measured processing cycles 0).
      2025-08-04T12:06:28.198Z|00099|dpif_netdev|INFO|Core 88 on numa node 0 assigned port 'vduse1' rx queue 0 (measured processing cycles 0).
      2025-08-04T12:06:28.198Z|00100|bridge|INFO|bridge br0: added interface vduse1 on port 3
      2025-08-04T12:07:39.893Z|00001|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0) New request: VDUSE_SET_STATUS (1)
      2025-08-04T12:07:39.893Z|00002|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     new status: 0x00000000
      2025-08-04T12:07:39.893Z|00003|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0) Request VDUSE_SET_STATUS (1) handled successfully
      2025-08-04T12:07:39.893Z|00004|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0) New request: VDUSE_SET_STATUS (1)
      2025-08-04T12:07:39.893Z|00005|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     new status: 0x00000000
      2025-08-04T12:07:39.893Z|00006|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0) Request VDUSE_SET_STATUS (1) handled successfully
      2025-08-04T12:07:39.893Z|00007|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0) New request: VDUSE_SET_STATUS (1)
      2025-08-04T12:07:39.893Z|00008|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     new status: 0x00000001
      2025-08-04T12:07:39.893Z|00009|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0) Request VDUSE_SET_STATUS (1) handled successfully
      2025-08-04T12:07:39.893Z|00010|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0) New request: VDUSE_SET_STATUS (1)
      2025-08-04T12:07:39.893Z|00011|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     new status: 0x00000003
      2025-08-04T12:07:39.893Z|00012|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0) Request VDUSE_SET_STATUS (1) handled successfully
      2025-08-04T12:07:39.893Z|00013|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0) New request: VDUSE_SET_STATUS (1)
      2025-08-04T12:07:39.893Z|00014|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     new status: 0x0000000b
      2025-08-04T12:07:39.893Z|00015|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0) Request VDUSE_SET_STATUS (1) handled successfully
      2025-08-04T12:07:39.893Z|00016|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0) New request: VDUSE_UPDATE_IOTLB (2)
      2025-08-04T12:07:39.893Z|00017|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     IOVA range: 0 - ffffffffffffffff
      2025-08-04T12:07:39.893Z|00018|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0) Request VDUSE_UPDATE_IOTLB (2) handled successfully
      2025-08-04T12:07:39.893Z|00019|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0) New request: VDUSE_SET_STATUS (1)
      2025-08-04T12:07:39.893Z|00020|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     new status: 0x0000000f
      2025-08-04T12:07:39.893Z|00021|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0) Starting device...
      2025-08-04T12:07:39.893Z|00022|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0) Negotiated Virtio features: 0xb10008000
      2025-08-04T12:07:39.893Z|00023|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0) VQ 0 info:
      2025-08-04T12:07:39.893Z|00024|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     num: 1024
      2025-08-04T12:07:39.893Z|00025|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     desc_addr: 1cfffc0000
      2025-08-04T12:07:39.893Z|00026|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     driver_addr: 1cfffc4000
      2025-08-04T12:07:39.893Z|00027|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     device_addr: 17ffc5000
      2025-08-04T12:07:39.893Z|00028|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     avail_idx: 0
      2025-08-04T12:07:39.893Z|00029|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     used_idx: 0
      2025-08-04T12:07:39.893Z|00030|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     ready: 1
      2025-08-04T12:07:39.893Z|00031|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     kick fd: 118
      2025-08-04T12:07:39.893Z|00032|dpdk|ERR|VHOST_CONFIG: (/dev/vduse/vduse0) Failed to get IOTLB entry for 0x17ffc5000
      2025-08-04T12:07:39.893Z|00033|dpdk|ERR|VHOST_DATA: (/dev/vduse/vduse0) IOTLB miss req failed for IOVA 0x17ffc5000
      2025-08-04T12:07:39.893Z|00034|dpdk|ERR|VHOST_CONFIG: (/dev/vduse/vduse0) Failed to translate vring 0 addresses
      2025-08-04T12:07:39.893Z|00035|dpdk|ERR|VHOST_CONFIG: (/dev/vduse/vduse0) Failed to disable guest notifications on vring 0
      2025-08-04T12:07:39.893Z|00036|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0) VQ 1 info:
      2025-08-04T12:07:39.893Z|00037|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     num: 1024
      2025-08-04T12:07:39.893Z|00038|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     desc_addr: 1cfffb3000
      2025-08-04T12:07:39.893Z|00039|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     driver_addr: 1cfffb7000
      2025-08-04T12:07:39.893Z|00040|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     device_addr: 17ffb8000
      2025-08-04T12:07:39.893Z|00041|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     avail_idx: 0
      2025-08-04T12:07:39.893Z|00042|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     used_idx: 0
      2025-08-04T12:07:39.893Z|00043|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     ready: 1
      2025-08-04T12:07:39.893Z|00044|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0)     kick fd: 119
      2025-08-04T12:07:39.893Z|00045|dpdk|ERR|VHOST_CONFIG: (/dev/vduse/vduse0) Failed to get IOTLB entry for 0x17ffb8000
      2025-08-04T12:07:39.893Z|00046|dpdk|ERR|VHOST_DATA: (/dev/vduse/vduse0) IOTLB miss req failed for IOVA 0x17ffb8000
      2025-08-04T12:07:39.893Z|00047|dpdk|ERR|VHOST_CONFIG: (/dev/vduse/vduse0) Failed to translate vring 1 addresses
      2025-08-04T12:07:39.893Z|00048|dpdk|ERR|VHOST_CONFIG: (/dev/vduse/vduse0) Failed to disable guest notifications on vring 1
      2025-08-04T12:07:39.893Z|00049|netdev_dpdk|WARN|vduse0: Tx TSO offload is not supported.
      2025-08-04T12:07:39.893Z|00050|netdev_dpdk|INFO|vHost Device '/dev/vduse/vduse0' has been added on numa node 0
      2025-08-04T12:07:39.893Z|00051|dpdk|INFO|VHOST_CONFIG: (/dev/vduse/vduse0) Request VDUSE_SET_STATUS (1) handled successfully
      2025-08-04T12:07:39.975Z|00101|dpif_netdev|INFO|Performing pmd to rx queue assignment using cycles algorithm.
      2025-08-04T12:07:39.975Z|00102|dpif_netdev|INFO|Core 88 on numa node 0 assigned port 'vduse0' rx queue 0 (measured processing cycles 0).
      2025-08-04T12:07:39.975Z|00103|dpif_netdev|INFO|Core 88 on numa node 0 assigned port 'vduse1' rx queue 0 (measured processing cycles 0).
      2025-08-04T12:07:39.975Z|00001|netdev_dpdk(ovs_vhost2)|INFO|State of queue 0 ( tx_qid 0 ) of vhost device '/dev/vduse/vduse0' changed to 'enabled'
      2025-08-04T12:07:39.975Z|00002|netdev_dpdk(ovs_vhost2)|INFO|State of queue 1 ( rx_qid 0 ) of vhost device '/dev/vduse/vduse0' changed to 'enabled'
      2025-08-04T12:07:39.975Z|00002|dpdk(pmd-c88/id:41)|ERR|VHOST_CONFIG: (/dev/vduse/vduse0) Failed to get IOTLB entry for 0x17ffb8000
      2025-08-04T12:07:39.975Z|00003|dpdk(pmd-c88/id:41)|ERR|VHOST_DATA: (/dev/vduse/vduse0) IOTLB miss req failed for IOVA 0x17ffb8000
      
      

       

              mcoqueli@redhat.com Maxime Coquelin
              mcoqueli@redhat.com Maxime Coquelin
              ovsdpdk triage ovsdpdk triage
              Ting Li Ting Li
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated: