[libvirt-users] "scripts are not supported on interfaces of type vhostuser" error

Laine Stump laine at redhat.com
Thu Feb 22 19:55:21 UTC 2018


On 02/22/2018 11:41 AM, Riccardo Ravaioli wrote:
> Hi,
> 
> I'm having trouble starting a VM with vhostuser interfaces.
> 
> 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.
> $ ovs-vsctl show:
> Bridge "switch1"
>     Port "switch1"
>         Interface "switch1"
>             type: internal
>     Port "1.switch1"
>         Interface "1.switch1"
>             type: dpdk
>             options: {dpdk-devargs="0000:0b:00.0"}
>     Port "0.switch1"
>         Interface "0.vm"
>             type: dpdkvhostuserclient
>             options: {vhost-server-path="/opt/oa/vhost/0.vm.sock"}
> 
> 
> The relevant excerpt from the XML of my VM is:
> 
> <?xml version="1.0" ?>
> <domain type="kvm" xmlns:ns0="http://libvirt.org/schemas/domain/qemu/1.0">
>  <!-- [...]  -->
>  <devices>
>     <emulator>/opt/oa/bin/qemu-system-x86_64</emulator>
>     <!-- [...]  -->
>     <interface type="vhostuser">
>       <script path="/opt/oa/etc/qemu-ifup"/>

^^^^^^^^^^^^^^^^ Why do you have this line?

>       <source mode="server" path="/opt/oa/vhost/0.vm.sock" type="unix"/>
>       <mac address="52:54:00:41:37:08"/>
>       <model type="virtio"/>
>       <driver queues="1">
>         <host csum="off"/>
>       </driver>
>     </interface>
>     <!-- [...]  -->
>   </devices>
>   <ns0:commandline>
>     <ns0:arg value="-object"/>
>     <ns0:arg
> value="memory-backend-file,id=mem,size=2G,mem-path=/dev/hugepages,share=on"/>
>     <ns0:arg value="-numa"/>
>     <ns0:arg value="node,memdev=mem"/>
>     <ns0:arg value="-mem-prealloc"/>
>   </ns0:commandline>
> </domain>
> 
> 
> Now, if I try to start my VM, I get the following error and the VM is
> not started at all:
> $ virsh create vm.xml
> error: Failed to create domain from vm.xml
> error: unsupported configuration: scripts are not supported on
> interfaces of type vhostuser

This error message tells you exactly what is wrong. The <script> element
is only supported for interfaces of type='ethernet' - these are
interfaces for which a tap device is created, but it's not connected to
anything; the purpose of the script is to connect the tap to device to
[something user-defined]. Other types of interface (e.g. vhost-user)
should have enough intelligence built into the code to perform all
necessary setup.

Do you actually have something in this qemu-ifup file?


> 
> 
> The logs from libvirtd.log say:
> 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
> 2018-02-22 09:18:24.982+0000: 2033: error : qemuBuildHostNetStr:3894 :
> unsupported configuration: scripts are not supported on interfaces of
> type vhostuser
> 
> The logs from qemu simply say:
> 2018-02-22 09:26:15.857+0000: shutting down, reason=failed
> 
> And finally, ovs-vswitchd.log:
> 2018-02-22T09:18:24.715Z|00328|dpdk|INFO|VHOST_CONFIG: vhost-user
> client: socket created, fd: 51
> 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'
> 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
> 2018-02-22T09:18:24.718Z|00331|dpdk|INFO|VHOST_CONFIG:
> /opt/oa/vhost/0.vm.sock: reconnecting...
> 2018-02-22T09:18:24.718Z|00332|bridge|INFO|bridge switch1: added
> interface 0.vm on port 5
> 
> 
> Am I missing something on the openvswitch or on the libvirt side?
> 
> 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?
> Then, I'm not too sure about the error messages in libvirtd.log...
> 
> My software versions are: libvirt 3.10.0, qemu 2.10.2, openvswitch 2.8.1
> and DPDK 17.11.
> 
> Thanks a lot!
> 
> Riccardo
> 
> 
> _______________________________________________
> libvirt-users mailing list
> libvirt-users at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-users
> 




More information about the libvirt-users mailing list