Build Update for libvirt/libvirt
-------------------------------------
Build: #514
Status: Still Failing
Duration: 5 hours, 13 minutes, and 19 seconds
Commit: 747116e (master)
Author: Laine Stump
Message: util: virPCIGetNetName(): use first netdev name when phys_port_id isn't
matched
The mlx4 (Mellanox) netdev driver implements the sysfs phys_port_id
file for both VFs and PFs, so you can find the VF netdev plugged into
the same physical port as any given PF netdev by comparing the
contents of phys_port_id of the respective netdevs. That's what
libvirt does when attempting to find the PF netdev for a given VF
netdev (or vice versa).
Most other netdev's drivers don't implement phys_port_id, so the file
is visible in sysfs directory listing, but attempts to read it result
in ENOTSUPP. In these cases, libvirt is unable to read phys_port_id of
either the PF or the VF, so it just returns the first entry in the
PF/VF's list of netdevs.
But we've found that the i40e driver is in between those two
situations - it implements phys_port_id for PF netdevs, but doesn't
implement it for VF netdevs. So libvirt would successfully read the
phys_port_id of the PF netdev, then try to find a VF netdev with
matching phys_port_id, but would fail because phys_port_id is NULL for
all VFs. This would result in a message like the following:
Could not find network device with phys_port_id '3cfdfe9edc39'
under PCI device at /sys/class/net/ens4f1/device/virtfn0
To solve this problem in a way that won't break functionality for
anyone else, this patch saves the first netdev name we find for the
device, and returns that if we fail to find a netdev with the desired
phys_port_id.
View the changeset:
https://github.com/libvirt/libvirt/compare/8de85386dbcc...747116e0b904
View the full build log and details:
https://travis-ci.org/libvirt/libvirt/builds/277569207?utm_source=email&a...
--
You can configure recipients for build notifications in your .travis.yml file. See
https://docs.travis-ci.com/user/notifications