Hello,

After running a bisect between tags libnl3_2_21 and libnl3_2_22 I identified
the fixer commit to be 807fddc nl: Increase receive buffer size to 4 pages

commit 807fddc4cd9ecb12ba64e1b7fa26d86b6c2f19b0
Author: Thomas Graf <tg...@suug.ch>
Date:   Wed May 8 13:52:27 2013 +0200

    nl: Increase receive buffer size to 4 pages
    
    Assuming that the kernel does not send more than a page is no longer valid,
    and enabling MSG_PEEK'ing by default to figure out the exact message buffer
    requirements can have a negative influence on the performance of existing
    applications. Bumping the default receive buffer space to 4 pages seems
    a sane default.
    
    Signed-off-by: Thomas Graf <tg...@suug.ch>

---

After applying this patch on top of the current trusty-updates this problem
is not longer exhibited and I can attach the full 128 VFs to the guest.

I am proposing this patch for SRU, and I already updated the description
with the reproduction steps.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded 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/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to