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

Reply via email to