<div dir="ltr"><div><div><div>Hi,<br><br></div>I'm having trouble starting a VM with vhostuser interfaces. <br><br></div>I have a simple configuration where a VM running Debian has 1 vhostuser interface plugged into an OVS switch where a DPDK interface is already plugged in. <br></div>$ ovs-vsctl show:<br>Bridge "switch1"<br>    Port "switch1"<br>        Interface "switch1"<br>            type: internal<br>    Port "1.switch1"<br>        Interface "1.switch1"<br>            type: dpdk<br>            options: {dpdk-devargs="0000:0b:00.0"}<br>    Port "0.switch1"<br>        Interface "0.vm"<br>            type: dpdkvhostuserclient<br>            options: {vhost-server-path="/opt/oa/vhost/0.vm.sock"}<br><br><br>The relevant excerpt from the XML of my VM is:<br><br><?xml version="1.0" ?><br><domain type="kvm" xmlns:ns0="<a href="http://libvirt.org/schemas/domain/qemu/1.0">http://libvirt.org/schemas/domain/qemu/1.0</a>"><br> <!-- [...]  --><br> <devices><br>    <emulator>/opt/oa/bin/qemu-system-x86_64</emulator><br>    <!-- [...]  --><br>    <interface type="vhostuser"><br>      <script path="/opt/oa/etc/qemu-ifup"/><br>      <source mode="server" path="/opt/oa/vhost/0.vm.sock" type="unix"/><br>      <mac address="52:54:00:41:37:08"/><br>      <model type="virtio"/><br>      <driver queues="1"><br>        <host csum="off"/><br>      </driver><br>    </interface><br>    <!-- [...]  --><br>  </devices><br>  <ns0:commandline><br>    <ns0:arg value="-object"/><br>    <ns0:arg value="memory-backend-file,id=mem,size=2G,mem-path=/dev/hugepages,share=on"/><br>    <ns0:arg value="-numa"/><br>    <ns0:arg value="node,memdev=mem"/><br>    <ns0:arg value="-mem-prealloc"/><br>  </ns0:commandline><br></domain><br><br><br>Now, if I try to start my VM, I get the following error and the VM is not started at all:<br>$ virsh create vm.xml<br>error: Failed to create domain from vm.xml<br>error: unsupported configuration: scripts are not supported on interfaces of type vhostuser<br><br><br>The logs from libvirtd.log say:<br>2018-02-22 09:18:24.982+0000: 2033: warning : qemuProcessStartWarnShmem:4539 : Detected vhost-user interface without any shared memory, the interface might not be operational<br>2018-02-22 09:18:24.982+0000: 2033: error : qemuBuildHostNetStr:3894 : unsupported configuration: scripts are not supported on interfaces of type vhostuser<br><br>The logs from qemu simply say:<br>2018-02-22 09:26:15.857+0000: shutting down, reason=failed<br><br>And finally, ovs-vswitchd.log:<br>2018-02-22T09:18:24.715Z|00328|dpdk|INFO|VHOST_CONFIG: vhost-user client: socket created, fd: 51<br>2018-02-22T09:18:24.716Z|00329|netdev_dpdk|INFO|vHost User device '0.vm' created in 'client' mode, using client socket '/opt/oa/vhost/0.vm.sock'<br>2018-02-22T09:18:24.718Z|00330|dpdk|WARN|VHOST_CONFIG: failed to connect to /opt/oa/vhost/0.vm.sock: No such file or directory<br>2018-02-22T09:18:24.718Z|00331|dpdk|INFO|VHOST_CONFIG: /opt/oa/vhost/0.vm.sock: reconnecting...<br>2018-02-22T09:18:24.718Z|00332|bridge|INFO|bridge switch1: added interface 0.vm on port 5<br><div><div><br><br></div><div>Am I missing something on the openvswitch or on the libvirt side?<br><br></div><div>It looks like openvswitch can't find /opt/oa/vhost/0.vm.sock, but isn't either openvswitch or libvirt in charge of creating it?<br></div><div>Then, I'm not too sure about the error messages in libvirtd.log...</div><div><br></div><div>My software versions are: libvirt 3.10.0, qemu 2.10.2, openvswitch 2.8.1 and DPDK 17.11.<br><br></div><div>Thanks a lot!<br><br></div><div>Riccardo<br></div></div></div>