[RFC v2: vf-token 0/7] Introduce vf-token when using userspace PF

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



vf token is set by a vfio-pci based PF driver and it must be known to the
vfio-pci based VF driver. This vf-token is set by the PF driver before VF
drivers can access the device. vfio-pci driver and qemu support vf-token. This
RFC patch series adds support to provide the vf-token (uuid format) in the
domain XML and to generate the qemu commandline including the vf-token.

To support vf-token the new element will be used as follows:
   <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0' slot='0x00' function='0x1'>
        <vf-token uuid='00112233-4455-6677-8899-aabbccddeeff'/>
        </address>
      </source>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </hostdev>

The generated commandline will include the following:

-device {"driver":"vfio-pci","host":"0000:00:0.1",
         "vf-token":"00112233-4455-6677-8899-aabbccddeeff",
         "id":"hostdev0","bus":"pci.0","addr":"0x1"}

Changes since initial RFC:
1. Added documentation
2. Added test cases and ran test suite
	- virtsocketest fails when run with 'ninja test'
3. fixed spaces and uuid string format
4. Used S:vftoken in virJSONValueObjectAdd instead of introducing a conditional

Vivek Kashyap (7):
  virpci: Define vf-token
  qemu: vf-token capability
  conf: vf-token flag
  conf: vf-token parsing and formatting
  conf: test cases
  qemu: validate & generate command line
  doc: doc and news

 NEWS.rst                                      |  8 +++++
 docs/formatdomain.rst                         |  4 +++
 src/conf/device_conf.c                        | 32 +++++++++++++++--
 src/conf/device_conf.h                        |  3 ++
 src/conf/domain_addr.h                        |  1 +
 src/conf/domain_conf.c                        |  8 +++++
 src/conf/schemas/basictypes.rng               |  7 ++++
 src/libvirt_private.syms                      |  1 +
 src/qemu/qemu_capabilities.c                  |  3 ++
 src/qemu/qemu_capabilities.h                  |  1 +
 src/qemu/qemu_command.c                       | 13 +++++++
 src/qemu/qemu_domain_address.c                |  3 ++
 src/qemu/qemu_validate.c                      | 20 +++++++++++
 src/util/virpci.c                             |  7 ++++
 src/util/virpci.h                             | 12 +++++++
 .../qemucapabilitiesdata/caps_8.1.0_s390x.xml |  1 +
 .../caps_8.1.0_x86_64.xml                     |  1 +
 .../caps_8.2.0_x86_64.xml                     |  1 +
 .../hostdev-vfio-vf-token.x86_64-latest.args  | 34 +++++++++++++++++++
 .../hostdev-vfio-vf-token.xml                 | 22 ++++++++++++
 tests/qemuxml2argvtest.c                      |  1 +
 21 files changed, 181 insertions(+), 2 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/hostdev-vfio-vf-token.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/hostdev-vfio-vf-token.xml

-- 
2.25.1
_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux