libnl should be updated to support up to 63 VFs per single PF
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libnl3 (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Trusty |
Fix Released
|
High
|
Jorge Niedbalski |
Bug Description
[Impact]
libnl can only enable up to 30 VFs even if the PF supports up to 63 VFs in an Openstack SRIOV configuration.
As already documented in https:/
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
[Test Case]
1) Edit /etc/default/grub.
GRUB_CMDLINE_
2) Update grub and reboot the machine.
$ sudo update-grub
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://
$ sudo python generate-
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
[Regression Potential]
* None identified.
[Other Info]
* Redhat Bug: https:/
* A workaround is to install a newer library release.
$ wget https:/
$ wget https:/
$ wget https:/
$ dpkg -i libnl-3-
$ dpkg -i libnl-genl-
$ dpkg -i libnl-route-
tags: |
added: trusty removed: 14.04.4 libnl ubuntu vf |
Changed in libnl3 (Ubuntu): | |
importance: | Undecided → Low |
Changed in libnl3 (Ubuntu): | |
assignee: | nobody → Jorge Niedbalski (niedbalski) |
importance: | Low → Medium |
Changed in libnl3 (Ubuntu): | |
status: | Confirmed → Fix Released |
assignee: | Jorge Niedbalski (niedbalski) → nobody |
Changed in libnl3 (Ubuntu Trusty): | |
assignee: | nobody → Jorge Niedbalski (niedbalski) |
Changed in libnl3 (Ubuntu Precise): | |
assignee: | nobody → Jorge Niedbalski (niedbalski) |
Changed in libnl3 (Ubuntu Trusty): | |
status: | New → In Progress |
importance: | Undecided → High |
tags: | added: sts-sru |
description: | updated |
Changed in libnl3 (Ubuntu Precise): | |
importance: | Undecided → Medium |
no longer affects: | libnl3 (Ubuntu Precise) |
tags: | removed: sts-sru |
Status changed to 'Confirmed' because the bug affects multiple users.