[libvirt] Error starting domain: internal error: missing IFLA_VF_INFO in netlink response

Hong-Hua.Yin at freescale.com Hong-Hua.Yin at freescale.com
Thu Jan 8 09:40:14 UTC 2015


Hi Laine,

Sorry to disturb you. 
It seemed this issue had been fixed in libvirt-1.2.2/libnl-3.2.22/linux-3.12. But we still got the error on PowerPC platform.
I'll appreciate if you could give any suggestion. We are not sure if any netlink implementation in kernel space is missed.

The scenario is a little complicated. We installed internal PF and VF kernel modules and want to use 
<interface type="hostdev" managed="yes"> syntax to start a guest domain with MAC address.

# insmod fslinic.ko max_vfs=2
Freescale 10 Gigabit PCI Express Network Driver
fslinic 0000:01:00.0: Multiqueue Enabled: Rx Queue count = 1, Tx Queue count = 1
fslinic 0000:01:00.0: Freescale (R) 10 Gigabit Network Connection
fslinic 0000:01:00.1: Multiqueue Enabled: Rx Queue count = 1, Tx Queue count = 1
fslinic 0000:01:00.1: Freescale (R) 10 Gigabit Network Connection

# insmod fslinicvf.ko
Freescale 10 Gigabit PCI Express Network Driver

# lspci -mk
00:00.0 "PCI bridge" "Freescale Semiconductor Inc" "Device 0440" -r20 "" ""
01:00.0 "Power PC" "Freescale Semiconductor Inc" "Device 0440" -r20 "" ""
01:00.1 "Power PC" "Freescale Semiconductor Inc" "Device 0440" -r20 "" ""
01:00.4 "Power PC" "Freescale Semiconductor Inc" "Device 0000" -r20 "" ""
01:00.5 "Power PC" "Freescale Semiconductor Inc" "Device 1957" -r20 "" ""
01:01.0 "Power PC" "Freescale Semiconductor Inc" "Device 0000" -r20 "" ""
01:01.1 "Power PC" "Freescale Semiconductor Inc" "Device 1957" -r20 "" ""
0001:00:00.0 "PCI bridge" "Freescale Semiconductor Inc" "Device 0440" -r20 "" ""
0002:00:00.0 "PCI bridge" "Freescale Semiconductor Inc" "Device 0440" -r20 "" ""

# echo 1957 0000 > /sys/bus/pci/drivers/vfio-pci/new_id
# echo 1957 1957 > /sys/bus/pci/drivers/vfio-pci/new_id

# cat interface.xml
<domain type='kvm'>
  <name>interface</name>
  <memory unit='KiB'>524288</memory>
  <currentMemory unit='KiB'>524288</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <os>
    <type arch='ppc64' machine='ppce500'>hvm</type>
    <kernel>/dev/shm/uImage</kernel>
    <initrd>/dev/shm/ramdisk</initrd>
    <cmdline>root=/dev/ram rw console=ttyS0,115200</cmdline>
  </os>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-ppc64</emulator>
    <controller type='usb' index='0'/>
    <controller type='pci' index='0' model='pci-root'/>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <interface type="hostdev" managed="yes">
      <mac address="00:e0:0c:00:20:01"/>
      <source>
        <address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x04"/>
      </source>
    </interface>
    <memballoon model='virtio'/>
  </devices>
</domain>

root at t4240rdb:/var/volatile# virsh start interface
error: Failed to start domain interface
error: internal error: missing IFLA_VF_INFO in netlink response

The debug message is as below:
error : virNetClientProgramDispatchError:175 : internal error: missing IFLA_VF_INFO in netlink response

Do you have any suggestion to investigate/debug this error?
Wish you could reply. Thank you in advance. 

Best Regards,
Olivia


> -----Original Message-----
> From: Yin Olivia-R63875
> Sent: Monday, November 24, 2014 7:37 PM
> To: 'libvirt-users at redhat.com'; libvir-list at redhat.com
> Subject: Error starting domain: internal error: missing IFLA_VF_INFO in netlink
> response
> 
> Hi,
> 
> We try PCI Passthrough of host network devices on PPC platform.
> http://wiki.libvirt.org/page/Networking#Assignment_with_.3Cinterface_type.3D
> .27hostdev.27.3E_.28SRIOV_devices_only.29
> 
> But we got a similar issue as below that reported on RedHat before:
> https://bugzilla.redhat.com/show_bug.cgi?id=1040626
> 
> With <hostdev>, it could start VM successfully.
>     <hostdev mode='subsystem' type='pci' managed='yes'>
>       <driver name='vfio'/>
>       <source>
>         <address domain='0x0000' bus='0x01' slot='0x00' function='0x4'/>
>       </source>
>     </hostdev>
> 
> Logged into VM and checked for VF using lspci root at model : qemu ppce500:~#
> lspci
> 00:00.0 PCI bridge: Freescale Semiconductor Inc MPC8533E
> 00:02.0 Power PC: Freescale Semiconductor Inc Device 0000 (rev 20)
> 00:03.0 Unclassified device [00ff]: Red Hat, Inc Virtio memory balloon
> 
> But it will fail if using <interface type="hostdev">:
>     <interface type="hostdev" managed="yes">
>       <mac address="00:e0:0c:00:20:01"/>
>      <source>
>         <address type="pci" domain="0x0000" bus="0x01" slot="0x00"
> function="0x4"/>
>       </source>
>     </interface>
> 
> 
> # virsh create vf.xml
> 2014-11-24 11:08:31.390+0000: 3556: info : libvirt version: 1.2.2
> 2014-11-24 11:08:31.390+0000: 3556: debug : virLogParseOutputs:1378 :
> outputs=1:file:virsh.log
> error: Failed to create domain from vf.xml
> error: internal error: missing IFLA_VF_INFO in netlink response
> 
> Exactly We're using max_vfs=2 and libnl-3.2.22 # ls -l /usr/lib64/libnl-3.so.200.17.0
> -rwxr-xr-x 1 root root 154440 Sep 17 07:15 /usr/lib64/libnl-3.so.200.17.0
> 
> 
> Why this issue happened on PPC? Is there anything architecture-specific support
> needed to add?
> 
> Thanks,
> Olivia




More information about the libvir-list mailing list