From e2e4d0b6659faedf8ddfed79116c214c62beb4bd Mon Sep 17 00:00:00 2001 From: Daniel Clavijo Coca Date: Mon, 25 May 2026 14:58:41 +0200 Subject: [PATCH 1/3] F OpenNebula/one#7679: Document feature --- .../hosts_and_clusters/pci_passthrough.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/content/product/cluster_configuration/hosts_and_clusters/pci_passthrough.md b/content/product/cluster_configuration/hosts_and_clusters/pci_passthrough.md index f46fd5a69..143854cc5 100644 --- a/content/product/cluster_configuration/hosts_and_clusters/pci_passthrough.md +++ b/content/product/cluster_configuration/hosts_and_clusters/pci_passthrough.md @@ -17,7 +17,7 @@ It is possible to discover PCI devices in the Hosts and directly assign them to The setup and environment information is taken from [here](https://stewartadam.io/howtos/fedora-20/create-gaming-virtual-machine-using-vfio-pci-passthrough-kvm). You can safely ignore all the VGA-related sections, those for PCI devices that are not graphic cards, or if you don’t want to output video signal from them. {{< alert title="Warning" type="warning" >}} -The overall setup state was extracted from a preconfigured Fedora 22 machine. **Configuration for your distro may be different.**{{< /alert >}} +The overall setup state was extracted from a preconfigured Fedora 22 machine. **Configuration for your distro may be different.**{{< /alert >}} ## Requirements @@ -142,7 +142,7 @@ cgroup_device_acl = [ {{< alert title="Note" type="info" >}} -There may be permissions problems if `/dev/vfio` devices are not owned by `oneadmin:kvm`. In this cases, a udev rule like `SUBSYSTEM=="vfio", GROUP="kvm", OWNER="oneadmin"` will set up the necessary owner:group for them to work{{< /alert >}} +There may be permissions problems if `/dev/vfio` devices are not owned by `oneadmin:kvm`. In this cases, a udev rule like `SUBSYSTEM=="vfio", GROUP="kvm", OWNER="oneadmin"` will set up the necessary owner:group for them to work{{< /alert >}} ## Driver Configuration @@ -310,12 +310,15 @@ To add a PCI device to a template, select the **PCI Devices** tab when you are c It is possible use a PCI device as an NIC interface directly in OpenNebula. In order to do so you will need to follow the configuration steps mentioned in this guide, namely changing the device driver. -For SR-IOV interfaces you can configure some parameters, in particular the following attributes can be defined for a SR-IOV interface: +For SR-IOV interfaces, you can configure different parameters depending on whether the parent Physical Function (PF) of the Virtual Function (VF) is operating in legacy or switchdev mode: -> - `MAC` -> - `VLAN_ID` -> - `SPOOFCHK` -> - `TRUST` +* **Legacy Mode**: In the traditional SR-IOV mode, parameters are applied directly to the hardware VF. The following attributes can be defined: + - `MAC`: Configures the MAC address of the VF interface. + - `VLAN_ID`: Sets the VLAN tag for the interface. + - `SPOOFCHK`: Enables or disables MAC/VLAN spoof checking. + - `TRUST`: Enables or disables VF trust status. + +* **Switchdev Mode**: In switchdev mode, VF parameters are controlled by host-side representor interfaces. These can then be attached to a virtual switch to establish port control. In this mode, only the `MAC` is applied directly in the VF interface. The rest of the control parameters are the same as those that are supported by the virtual switch driver of virtual network. As of now, only [Open vSwitch]({{% relref "../../../product/cluster_configuration/networking_system/openvswitch#openvswitch" %}}) is supported for Switchdev Mode The [context packages]({{% relref "../../virtual_machines_operation/virtual_machines/vm_templates#context-overview" %}}) support the configuration of the following attributes: From d4cf5065cecf4793a29686e2106a3006b7861e92 Mon Sep 17 00:00:00 2001 From: Daniel Clavijo Coca Date: Mon, 25 May 2026 16:23:06 +0200 Subject: [PATCH 2/3] F OpenNebula/one#7679: Whats new --- content/software/release_information/release_notes/whats_new.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/software/release_information/release_notes/whats_new.md b/content/software/release_information/release_notes/whats_new.md index 41421c2b5..4f0083cec 100644 --- a/content/software/release_information/release_notes/whats_new.md +++ b/content/software/release_information/release_notes/whats_new.md @@ -19,6 +19,8 @@ The OpenNebula team is excited to announce the availability of the **OpenNebula ## Networking +* Support for SRIOV capable network interfaces in [switchdev mode]({{% relref "product/cluster_configuration/hosts_and_clusters/pci_passthrough.md#usage-as-network-interfaces" %}}) + ## Sunstone ## API and CLI From 5b267a73a5119e19ad304212334568137412d5d3 Mon Sep 17 00:00:00 2001 From: mattrowe-opennebula Date: Wed, 27 May 2026 13:36:22 +0200 Subject: [PATCH 3/3] F OpenNebula/one#7679: Technical writer review --- .../hosts_and_clusters/pci_passthrough.md | 10 +++++----- .../release_information/release_notes/whats_new.md | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/content/product/cluster_configuration/hosts_and_clusters/pci_passthrough.md b/content/product/cluster_configuration/hosts_and_clusters/pci_passthrough.md index 143854cc5..3f5c10091 100644 --- a/content/product/cluster_configuration/hosts_and_clusters/pci_passthrough.md +++ b/content/product/cluster_configuration/hosts_and_clusters/pci_passthrough.md @@ -16,8 +16,8 @@ It is possible to discover PCI devices in the Hosts and directly assign them to The setup and environment information is taken from [here](https://stewartadam.io/howtos/fedora-20/create-gaming-virtual-machine-using-vfio-pci-passthrough-kvm). You can safely ignore all the VGA-related sections, those for PCI devices that are not graphic cards, or if you don’t want to output video signal from them. -{{< alert title="Warning" type="warning" >}} -The overall setup state was extracted from a preconfigured Fedora 22 machine. **Configuration for your distro may be different.**{{< /alert >}} +{{% alert title="Warning" type="warning" %}} +The overall setup state was extracted from a preconfigured Fedora 22 machine. **Configuration for your distro may be different**.{{% /alert %}} ## Requirements @@ -142,7 +142,7 @@ cgroup_device_acl = [ {{< alert title="Note" type="info" >}} -There may be permissions problems if `/dev/vfio` devices are not owned by `oneadmin:kvm`. In this cases, a udev rule like `SUBSYSTEM=="vfio", GROUP="kvm", OWNER="oneadmin"` will set up the necessary owner:group for them to work{{< /alert >}} +There may be permissions problems if `/dev/vfio` devices are not owned by `oneadmin:kvm`. In this cases, a udev rule like `SUBSYSTEM=="vfio", GROUP="kvm", OWNER="oneadmin"` will set up the necessary owner:group for them to work.{{< /alert >}} ## Driver Configuration @@ -318,9 +318,9 @@ For SR-IOV interfaces, you can configure different parameters depending on wheth - `SPOOFCHK`: Enables or disables MAC/VLAN spoof checking. - `TRUST`: Enables or disables VF trust status. -* **Switchdev Mode**: In switchdev mode, VF parameters are controlled by host-side representor interfaces. These can then be attached to a virtual switch to establish port control. In this mode, only the `MAC` is applied directly in the VF interface. The rest of the control parameters are the same as those that are supported by the virtual switch driver of virtual network. As of now, only [Open vSwitch]({{% relref "../../../product/cluster_configuration/networking_system/openvswitch#openvswitch" %}}) is supported for Switchdev Mode +* **Switchdev Mode**: In switchdev mode, VF parameters are controlled by host-side representor interfaces. These can then be attached to a virtual switch to establish port control. In this mode, only the `MAC` is applied directly in the VF interface. The rest of the control parameters are the same as those that are supported by the virtual switch driver of virtual network. As of now, only [Open vSwitch]({{% relref "product/cluster_configuration/networking_system/openvswitch#openvswitch" %}}) is supported for Switchdev Mode. -The [context packages]({{% relref "../../virtual_machines_operation/virtual_machines/vm_templates#context-overview" %}}) support the configuration of the following attributes: +The [context packages]({{% relref "product/virtual_machines_operation/virtual_machines/vm_templates#context-overview" %}}) support the configuration of the following attributes: * `MAC`: It will change the mac address of the corresponding network interface to the MAC assigned by OpenNebula. * `IP`: It will assign an IPv4 address to the interface, assuming a `/24` netmask. diff --git a/content/software/release_information/release_notes/whats_new.md b/content/software/release_information/release_notes/whats_new.md index 4f0083cec..53c647dcd 100644 --- a/content/software/release_information/release_notes/whats_new.md +++ b/content/software/release_information/release_notes/whats_new.md @@ -19,7 +19,7 @@ The OpenNebula team is excited to announce the availability of the **OpenNebula ## Networking -* Support for SRIOV capable network interfaces in [switchdev mode]({{% relref "product/cluster_configuration/hosts_and_clusters/pci_passthrough.md#usage-as-network-interfaces" %}}) +* Support for SR-IOV capable network interfaces in [switchdev mode]({{% relref "product/cluster_configuration/hosts_and_clusters/pci_passthrough.md#usage-as-network-interfaces" %}}). ## Sunstone