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

Support reconnect function for vhostuser interface with passt backend

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

    • libvirt-10.10.0-11.el9
    • No
    • Low
    • ZStream
    • rhel-virt-core-libvirt-2
    • ssg_virtualization
    • 14
    • None
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • Approved Blocker
    • Unspecified
    • Unspecified
    • Unspecified
    • None

      About the missing reconnect issue: Laine noticed about this, but also noticed that the QEMU event we need is current missing, so libvirt can't fix it (yet). Laurent is trying to add it here: https://patchew.org/QEMU/20250217092550.1172055-1-lvivier@redhat.com/

      Refer to https://issues.redhat.com/browse/RHEL-69455?focusedId=26627330&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-26627330

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

      When VM is running, kill the passt process, it will not create a new passt process.

      What is the impact of this issue to you?

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

      libvirt-10.10.0-7.el9.x86_64

      How reproducible is this bug?:

      100%

      Steps to reproduce

      1.  start a vm with vhostuser type interface with passt backend
        # virsh dumpxml rhel --xpath //interface
        <interface type="vhostuser">
          <mac address="52:54:00:5a:2d:da"/>
          <model type="virtio"/>
          <backend type="passt" logFile="/run/user/107/passt.log"/>
          <alias name="net0"/>
          <address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/>
        </interface>
        
      2.  check the passt process, then kill the process
        # ps aux | grep 'passt --vhost-user' | grep -v grep 
        qemu       51879  0.0  0.0 2285416 227
        44 ?       Ss   11:47   0:00 passt --vhost-user --one-off --socket /run/libvirt/qemu/passt/4-rhel-net0.socket --pid /run/libvirt/qemu/passt/4-rhel-net0-passt.pid --log-file /run/user/107/passt.log
        # kill -9 51879
        # ps aux | grep 'passt --vhost-user' | grep -v grep 
        (none)
        # pidof passt
        (none)
        

      Actual results

      Passt process can not be recovered after killed, which cause the interface down

      Expected results

      When vm is running, but the passt process killed accidentally, it should be recovered.

              lstump@redhat.com Laine Stump
              yalzhang@redhat.com Yalan Zhang
              virt-maint virt-maint
              Han Han Han Han
              Votes:
              0 Vote for this issue
              Watchers:
              15 Start watching this issue

                Created:
                Updated: