Hello, I am able to reproduce this bug consistently on a Trusty (3.19.0-73-generic) machine equipped with 2 ixgbe 10GbE cards:
04:00.0 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01) 04:00.1 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01) The sequence to reproduce this bug is: 1) Edit /etc/default/grub GRUB_CMDLINE_LINUX="intel_iommu=on ixgbe.max_vfs=63" 2) $ sudo update-grub ### Reboot the machine. 3) Check that the virtual functions are available: $ sudo lspci|grep -i eth | grep -i virtual | wc -l 126 4) Create a KVM guest $ sudo uvt-kvm create guest1 release=trusty 5) List the VF devices : $ sudo lspci|grep -i eth | grep -i virtual | awk '{print $1}' | sed 's/\:/\_/g' | sed 's/\./\_/g' > devices.txt 6) Get the libvirt node device: $ sudo for device in $(cat ./devices.txt); do virsh nodedev-list | grep $device; done > pci_devices.txt 7) Generate the XML config for each device: $ sudo mkdir devices && for d in $(cat pci_devices.txt); do virsh nodedev-dumpxml $d > devices/$d.xml; done 8) Save and Run the following script (http://pastebin.ubuntu.com/23374186/) $ sudo python generate-interfaces.py |grep address | wc -l 9) Finally attach the devices to the guest. $ sudo for i in $(seq 0 63); do virsh attach-device guest1 ./interfaces/$i.xml --config; done Device attached successfully [...] Device attached successfully Device attached successfully 10) Then destroy/start the guest again, at this point the error is reproduced. $ sudo virsh destroy guest1 Domain guest1 destroyed $ sudo virsh start guest1 error: Failed to start domain guest1 error: internal error: missing IFLA_VF_INFO in netlink response Please note that this error is not reproducible using libnl3_2_22. I am currently working to bisect and identify the offending commit and propose a backport to Ubuntu Trusty. ** Description changed: + [Description] + Ubuntu 14.04.4 and SRIOV settings. As already documented in https://bugs.launchpad.net/mos/+bug/1501738 there is a bug in the default libnl library release installed on Ubuntu 14.04.4 - The library release is the 3.2.21-1 and the bug is impacting on the - maximum VFs number that can be enabled (up to 30) even if the PF - supports up to 63 VFs in an Openstack SRIOV configuration + When trying to enable a guest with more than 30 VFs attached, the + following error is returned: + + error: Failed to start domain guest1 + error: internal error: missing IFLA_VF_INFO in netlink response + + [Impact] + + The library release is the 3.2.21-1 the bug is impacting on the maximum + VFs number that can be enabled (up to 30) even if the PF supports up to + 63 VFs in an Openstack SRIOV configuration + + [Test Case] + + The sequence to reproduce this bug is: + + 1) Edit /etc/default/grub + + GRUB_CMDLINE_LINUX="intel_iommu=on ixgbe.max_vfs=63" + + 2) $ sudo update-grub + + ### Reboot the machine. + + 3) Check that the virtual functions are available: + + $ sudo lspci|grep -i eth | grep -i virtual | wc -l + 126 + + 4) Create a KVM guest + + $ sudo uvt-kvm create guest1 release=trusty + + 5) List the VF devices : + + $ sudo lspci|grep -i eth | grep -i virtual | awk '{print $1}' | sed + 's/\:/\_/g' | sed 's/\./\_/g' > devices.txt + + 6) Get the libvirt node device: + + $ sudo for device in $(cat ./devices.txt); do virsh nodedev-list | grep + $device; done > pci_devices.txt + + 7) Generate the XML config for each device: + + $ sudo mkdir devices && for d in $(cat pci_devices.txt); do virsh + nodedev-dumpxml $d > devices/$d.xml; done + + 8) Save and Run the following script + (http://pastebin.ubuntu.com/23374186/) + + $ sudo python generate-interfaces.py |grep address | wc -l + + 9) Finally attach the devices to the guest. + + $ sudo for i in $(seq 0 63); do virsh attach-device guest1 ./interfaces/$i.xml --config; done + Device attached successfully + [...] + + Device attached successfully + Device attached successfully + + 10) Then destroy/start the guest again, at this point the error is + reproduced. + + $ sudo virsh destroy guest1 + Domain guest1 destroyed + + $ sudo virsh start guest1 + + error: Failed to start domain guest1 + error: internal error: missing IFLA_VF_INFO in netlink response + + * detailed instructions how to reproduce the bug + + * these should allow someone who is not familiar with the affected + package to reproduce the bug and verify that the updated package fixes + the problem. + + [Regression Potential] + + ** None identified. + + [Other Info] + + - Redhat Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1040626 + + [Workaround] The workaround is to install a newer library release, the 3.2.24-2: wget https://launchpad.net/ubuntu/+archive/primary/+files/libnl-3-200_3.2.24-2_amd64.deb wget https://launchpad.net/ubuntu/+archive/primary/+files/libnl-genl-3-200_3.2.24-2_amd64.deb wget https://launchpad.net/ubuntu/+archive/primary/+files/libnl-route-3-200_3.2.24-2_amd64.deb dpkg -i libnl-3-200_3.2.24-2_amd64.deb dpkg -i libnl-genl-3-200_3.2.24-2_amd64.deb dpkg -i libnl-route-3-200_3.2.24-2_amd64.deb ** Tags added: sts -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to libnl3 in Ubuntu. https://bugs.launchpad.net/bugs/1567578 Title: libnl should be updated to support up to 63 VFs per single PF Status in libnl3 package in Ubuntu: Fix Released Status in libnl3 source package in Precise: New Status in libnl3 source package in Trusty: In Progress Bug description: [Description] Ubuntu 14.04.4 and SRIOV settings. As already documented in https://bugs.launchpad.net/mos/+bug/1501738 there is a bug in the default libnl library release installed on Ubuntu 14.04.4 When trying to enable a guest with more than 30 VFs attached, the following error is returned: error: Failed to start domain guest1 error: internal error: missing IFLA_VF_INFO in netlink response [Impact] The library release is the 3.2.21-1 the bug is impacting on the maximum VFs number that can be enabled (up to 30) even if the PF supports up to 63 VFs in an Openstack SRIOV configuration [Test Case] The sequence to reproduce this bug is: 1) Edit /etc/default/grub GRUB_CMDLINE_LINUX="intel_iommu=on ixgbe.max_vfs=63" 2) $ sudo update-grub ### Reboot the machine. 3) Check that the virtual functions are available: $ sudo lspci|grep -i eth | grep -i virtual | wc -l 126 4) Create a KVM guest $ sudo uvt-kvm create guest1 release=trusty 5) List the VF devices : $ sudo lspci|grep -i eth | grep -i virtual | awk '{print $1}' | sed 's/\:/\_/g' | sed 's/\./\_/g' > devices.txt 6) Get the libvirt node device: $ sudo for device in $(cat ./devices.txt); do virsh nodedev-list | grep $device; done > pci_devices.txt 7) Generate the XML config for each device: $ sudo mkdir devices && for d in $(cat pci_devices.txt); do virsh nodedev-dumpxml $d > devices/$d.xml; done 8) Save and Run the following script (http://pastebin.ubuntu.com/23374186/) $ sudo python generate-interfaces.py |grep address | wc -l 9) Finally attach the devices to the guest. $ sudo for i in $(seq 0 63); do virsh attach-device guest1 ./interfaces/$i.xml --config; done Device attached successfully [...] Device attached successfully Device attached successfully 10) Then destroy/start the guest again, at this point the error is reproduced. $ sudo virsh destroy guest1 Domain guest1 destroyed $ sudo virsh start guest1 error: Failed to start domain guest1 error: internal error: missing IFLA_VF_INFO in netlink response * detailed instructions how to reproduce the bug * these should allow someone who is not familiar with the affected package to reproduce the bug and verify that the updated package fixes the problem. [Regression Potential] ** None identified. [Other Info] - Redhat Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1040626 [Workaround] The workaround is to install a newer library release, the 3.2.24-2: wget https://launchpad.net/ubuntu/+archive/primary/+files/libnl-3-200_3.2.24-2_amd64.deb wget https://launchpad.net/ubuntu/+archive/primary/+files/libnl-genl-3-200_3.2.24-2_amd64.deb wget https://launchpad.net/ubuntu/+archive/primary/+files/libnl-route-3-200_3.2.24-2_amd64.deb dpkg -i libnl-3-200_3.2.24-2_amd64.deb dpkg -i libnl-genl-3-200_3.2.24-2_amd64.deb dpkg -i libnl-route-3-200_3.2.24-2_amd64.deb To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/libnl3/+bug/1567578/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp