Files
Ruben S. Montero 907f26050f F #5940: Improve PCI Passthrough and SRIOV support
- SHORT_ADDRESS can be used to select specific devices  (useful on
  homogenous clusters or nic attach operations). This name has been
  selected because of:
    1. It is the attrbute shown host info
    2. It does not collide with the reserved ADDRESS attribute

- New test and add functions that considers both allocation methods: by
  name (VENDOR/CLASS/DEVICE) or address (SHORT_ADDRESS)

- Parameter check on VM creation

- revert and add method use the same pci_attribute function to add info
  to the VM PCI attribute

- Remove well-known attributes when parsing PCI devices (ADDRESS,
  PREV_ADDRES, BUS, FUNCTION, SLOT, NUMA_NODE, UUID)

- Support for attach and detach NIC with PCI attributes
    * onevm_exec.rb looks for PCI devices for ATTACH=YES when attaching/detaching an interface
    * script action are now written in Ruby
    * KVM module with common actions (hostdev/interface device str)
    * Minor changes in xmlparser and OpenNebulaVM classes

- PCI selection options to onevm nic-attach:
    * pci short_address
    * pci_device device ID
    * pci_vendor vendor ID
    * pci_class class ID

- VF can be configured by setting some parameters through IP link (e.g.
  MAC or VLAN_ID). This commit includes a mixin to activate_vf.

    * one_vmm_exec.rb looks for PCI VN_MAD drivers
    * VM class (VNM) adds a @pcis array
    * activate_vf should be called in the pre stage. The following drivers
      acticate VFs (VLAN_ID is implemented as 802.1Q tag)
            - 802.1Q
            - bridge
            - fw
            - ovswitch

- Improve integration with Libvirt/QEMU:

    * When attach, only activate the VF being attached
    * Attach: Use <interface> and not <hostdev> for VF. There seems to be a race
      condition between accessing the vfio device and permission setup.
    * Attach: Remove address on attach as it may fail beacuse PCI controller
      is not present, e.g.:

        ATTACHNIC: Could not attach NIC to 28534240: error: Failed to attach device
        from /dev/fd/63 error: XML error: Invalid PCI address 0000:01:01.0.
        Only PCI buses up to 0 are available ExitCode: 1

    * Detach: Detach always use <hostdev> as libvirt fails to identified the
      device just by address when using <interface>
2022-09-07 15:54:38 +02:00
..
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-09 15:20:17 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-06-08 18:27:38 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-09 15:20:17 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-20 12:47:55 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-06-20 18:35:40 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00
2022-04-07 19:49:58 +02:00