Verify NFV requirements

Before you deploy your network functions virtualization (NFV) in a Red Hat OpenStack Services on OpenShift (RHOSO) environment, become familiar with the hardware and software requirements.

Tested NICs for NFV

For a list of tested NICs for NFV, see the Red Hat Knowledgebase solution Network Adapter Fast Data Path Feature Support Matrix.

Use the default driver for the supported NIC, unless you are configuring NVIDIA (Mellanox) network interfaces. For NVIDIA network interfaces, you must specify the kernel driver during configuration.

Example
In this example, an OVS-DPDK port is being configured. Because the NIC being used is an NVIDIA ConnectX-5, the driver must be specified:
members
 - type: ovs_dpdk_port
    name: dpdk0
    driver: mlx5_core
    members:
    - type: interface
      name: enp3s0f0

Discover your NUMA node topology

For network functions virtualization (NFV) environments, you must discover the NUMA topology of your Compute node to partition the CPU and memory resources for optimum performance.

Procedure

  • Enable hardware introspection to retrieve this information from bare-metal nodes.
  • Log on to each bare-metal node to manually collect the information.

NFV BIOS settings

NFV environments require appropriate values for a variety of BIOS parameters.

The following table describes those BIOS parameters.

Note

You must enable SR-IOV global and NIC settings in the BIOS, or your RHOSO deployment with SR-IOV Compute nodes will fail.

Table 1. BIOS Settings
Parameter Setting

C3 Power State

Disabled.

C6 Power State

Disabled.

MLC Streamer

Enabled.

MLC Spatial Prefetcher

Enabled.

DCU Data Prefetcher

Enabled.

DCA

Enabled.

CPU Power and Performance

Performance.

Memory RAS and Performance Config NUMA Optimized

Enabled.

Turbo Boost

Disabled in NFV deployments that require deterministic performance. Enabled in all other scenarios.

VT-d

Enabled for Intel cards if VFIO functionality is needed.

NUMA memory interleave

Disabled.

Important

If you are using the TuneD CPU-partitioning power saving profile, cpu-partitioning-powersave, then you must enable the appropriate C-states power state level in the firmware. For more information about BIOS settings, contact your hardware vendor.

On processors that use the intel_idle driver, Red Hat Enterprise Linux can ignore BIOS settings and re-enable the processor C-state.

You can disable intel_idle and instead use the acpi_idle driver by specifying the key-value pair intel_idle.max_cstate=0 on the kernel boot command line.

Confirm that the processor is using the acpi_idle driver by checking the contents of current_driver:

$ cat /sys/devices/system/cpu/cpuidle/current_driver
Sample output
acpi_idle
Note

You will experience some latency after changing drivers, because it takes time for the Tuned daemon to start. However, after Tuned loads, the processor does not use the deeper C-state.