Enable SR-IOV with OVS/OVN¶
This section provides instructions on how to enable Single Root I/O Virtualization (SR-IOV) for environments that use Neutron Open vSwitch (OVS) or Open Virtual Network (OVN) backends.
Note
Consider this section as part of Deploy an OpenStack cluster.
Prerequisites¶
Before enabling SR-IOV, ensure your environment meets the following hardware and firmware requirements:
Hardware: Network Interface Cards (NICs) with native SR-IOV support
Firmware: SR-IOV and VT-d (Virtualization Technology for Directed I/O) enabled in the system BIOS/UEFI
Network design: VLAN segmentation must be planned, as SR-IOV requires VLAN-backed networks for tenant isolation
Configuration procedure¶
Enable IOMMU in the kernel by configuring
intel_iommu=onin the GRUB configuration to allow the kernel to manage PCI devices. Specify the parameter for compute nodes in thegrubConfigsection ofBareMetalHostProfile:spec: grubConfig: defaultGrubOptions: - 'GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX intel_iommu=on"'
Configure the
OpenStackDeploymentCR to deploy OpenStack with the VLAN tenant network encapsulation.Caution
To ensure that the configuration applies correctly, define VLAN segmentation during the initial OpenStack deployment.
Configuration example:
spec: features: neutron: external_networks: - bridge: br-ex interface: pr-floating mtu: null network_types: - flat physnet: physnet1 vlan_ranges: null - bridge: br-tenant interface: bond0 network_types: - vlan physnet: tenant vlan_ranges: 490:499,1420:1459 tenant_network_types: - vlan
Enable SR-IOV in the
OpenStackDeploymentCR through the node-specific override settings defining the physical interfaces and number of VFs to be created. For example:spec: nodes: <NODE-LABEL>::<NODE-LABEL-VALUE>: features: neutron: sriov: enabled: true nics: - device: enp10s0f1 num_vfs: 7 physnet: tenant
See also