Hi,

 

I was looking on the output of virsh nodedev-dumpxml on a PCI to see if it has SR-IOV PF  capability.

It seem that if the virtual functions are enables the xml look like [1] but if the PCI has no VFs enabled the

output is like in [2].

As you can see for PCI which has  no VFs the <capability type='virt_functions'>  tag doen’t exist.

Is this by design?

I would except that <capability type='virt_functions'/> tag with empty elements will also be include in that case.

 

Thanks,

            Moshe Levi.

 

 

[1] root@r-ufm152:~# virsh nodedev-dumpxml pci_0000_03_00_0

<device>                                              

  <name>pci_0000_03_00_0</name>                        

  <path>/sys/devices/pci0000:00/0000:00:02.0/0000:03:00.0</path>

  <parent>pci_0000_00_02_0</parent>                            

  <driver>                                                      

    <name>mlx5_core</name>                                      

  </driver>                                                    

  <capability type='pci'>

    <domain>0</domain>

    <bus>3</bus>

    <slot>0</slot>

    <function>0</function>

    <product id='0x1013'>MT27700 Family [ConnectX-4]</product>

    <vendor id='0x15b3'>Mellanox Technologies</vendor>

    <capability type='virt_functions'>

      <address domain='0x0000' bus='0x03' slot='0x00' function='0x2'/>

      <address domain='0x0000' bus='0x03' slot='0x00' function='0x3'/>

      <address domain='0x0000' bus='0x03' slot='0x00' function='0x4'/>

      <address domain='0x0000' bus='0x03' slot='0x00' function='0x5'/>

    </capability>

    <iommuGroup number='15'>

      <address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>

      <address domain='0x0000' bus='0x03' slot='0x00' function='0x1'/>

    </iommuGroup>

    <numa node='0'/>

    <pci-express>

      <link validity='cap' port='0' speed='8' width='16'/>

      <link validity='sta' speed='8' width='16'/>

    </pci-express>

  </capability>

</device>

 

 

[2] root@r-ufm152:~# virsh nodedev-dumpxml pci_0000_03_00_1

<device>

  <name>pci_0000_03_00_1</name>

  <path>/sys/devices/pci0000:00/0000:00:02.0/0000:03:00.1</path>

  <parent>pci_0000_00_02_0</parent>

  <driver>

    <name>mlx5_core</name>

  </driver>

  <capability type='pci'>

    <domain>0</domain>

    <bus>3</bus>

    <slot>0</slot>

    <function>1</function>

    <product id='0x1013'>MT27700 Family [ConnectX-4]</product>

    <vendor id='0x15b3'>Mellanox Technologies</vendor>

    <iommuGroup number='15'>

      <address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>

      <address domain='0x0000' bus='0x03' slot='0x00' function='0x1'/>

    </iommuGroup>

    <numa node='0'/>

    <pci-express>

      <link validity='cap' port='0' speed='8' width='16'/>

      <link validity='sta' speed='8' width='16'/>

    </pci-express>

  </capability>

</device>