[libvirt] [PATCH 2/2] nodedev: report maxCount for virtual_functions capability

Pavel Hrdina phrdina at redhat.com
Tue Nov 24 12:23:47 UTC 2015


On Mon, Nov 23, 2015 at 04:50:14PM -0500, Laine Stump wrote:
> A PCI device may have the capability to setup virtual functions (VFs)
> but have them currently all disabled. Prior to this patch, if that was
> the case the the node device XML for the device wouldn't report any

s/the the/the/

> virtual_functions capability.
> 
> With this patch, if a file called "sriov_totalvfs" is found in the
> device's sysfs directory, its contents will be interpreted as a
> decimal number, and that value will be reported as "maxCount" in a
> capability element of the device's XML, e.g.:
> 
>    <capability type='virtual_functions' maxCount='7'/>
> 
> This will be reported regardless of whether or not any VFs are
> currently enabled for the device.
> 
> NB: sriov_numvfs (the number of VFs currently active) is also
> available in sysfs, but that value is implied by the number of items
> in the list that is inside the capability element, so there is no
> reason to explicitly provide it as an attribute.
> 
> sriov_totalvfs and sriov_numvfs are available in kernels at least as far
> back as the 2.6.32 that is in RHEL6.7, but in the case that they
> simply aren't there, libvirt will behave as it did prior to this patch
> - no maxCount will be displayed, and the virtual_functions capability
> will be absent from the device's XML when 0 VFs are enabled.
> ---
>  src/network/bridge_driver.c               |  5 +++--
>  src/node_device/node_device_linux_sysfs.c |  7 +++++--
>  src/util/virnetdev.c                      |  9 ++++++---
>  src/util/virnetdev.h                      |  5 +++--
>  src/util/virpci.c                         | 30 ++++++++++++++++++++++++++----
>  src/util/virpci.h                         |  5 +++--
>  6 files changed, 46 insertions(+), 15 deletions(-)
> 

ACK

Pavel




More information about the libvir-list mailing list