-
Story
-
Resolution: Unresolved
-
Normal
-
None
-
rhel-9.2.0, rhel-9.3.0, rhel-9.4
-
rhel-sst-network-management
-
ssg_networking
-
None
-
False
-
-
None
-
None
-
-
None
-
None
-
None
What were you trying to do that didn't work?
Set the OVS option option dpdk-lsc-interrupt=false on DPDK physical ports. However nmstate schema doesn't include this OVS option. For info about why this option is required, see this link:
OVS Documentation: Link State Change (LSC) Detection Configuration
Also, in nmstate on RHEL
Additionally the mtu_request should be set to the same value as the MTU of the parent DPDK bond, see further description at end of this summary.
Please provide the package NVR for which bug is seen:
nmstate 2.2.34
How reproducible:
100%
Steps to reproduce
- 1 Configure a DPDK user-mode bridge to use a polling mode driver
- 2 Configure a DPDK bond on the bridge
- 3 Configure two DPDK physical ports attached to the bond with multiple receive queues (e.g. options:n_rxq=8)
- 4 Atrempt to configure options:dpdk-lsc-interrupt=false
Expected results
The OVS option dpdk-lsc-interrupt should be configurable to false (default is true) on DPDK physical ports if required.
Actual results
There is no setting for this option, only the following options are supported:
class Dpdk:
DEVARGS = "devargs"
RX_QUEUE = "rx-queue"
N_RXQ_DESC = "n_rxq_desc"
N_TXQ_DESC = "n_txq_desc"
The OVS option dpdk-lsc-interrupt is required for RHOSP NFV customers, but nmstate cannot set this OVS option currently. In order to use polling mode (instead of interrupt mode) for Link State Change (LSC) detection the OVS option:dpdk-lsc-interrupt=false must be set on the DPDK physical ports. This is required for maximum performance when using DPDK bonds attached to OVS DPDK user-mode bridges with a Polling Mode Driver (PMD).
The inability to set the Link State Change (LSC) interrupt boolean is blocking the changeover from network-init-scripts to nmstate/NetworkManager in RHOSP 17.1.4 and RHOSO 18.0.x. Currently os-net-config can only set this option when using deprecated network-init-scripts ifcfg files and not nmstate. Red Hat Openstack NFV/telco customers use OVS-DPDK for maximum network performance with NICs such as Mellanox ConnectX, Intel 7xx/8xx, and many other 25Gb-400Gb+ network adapters. In order to support maximum performance in DPDK bonds the LSC interrupt mode must be set to false to enable polling mode.
Additional possible issue: The mtu_request setting of DPDK ports that are members of a DPDKBond should be set to the same value as the MTU of the DPDKBond. The OVS command to do this is "set Interface $DEVICE mtu_request=$MTU" where $MTU is the value set for the DPDK bond and this is run once for each DPDK port in the bond with $DEVICE set to the name of the port.
For example consider the following os-net-config configuration:
members:
- type: ovs_dpdk_bond
name: dpdkbond1
mtu: 9200
members: - type: ovs_dpdk_port
name: dpdk2
members: - type: interface
name: ens4f0 - type: ovs_dpdk_port
name: dpdk3
members: - type: interface
name: ens4f1
This should result in mtu_request=9200 for both dpdk2 and dpdk3. I could not verify whether nmstate already sets the mtu_request correctly already.
- relates to
-
OSPRH-8768 Greenfield deployment with os-net-config nmstate provider
- Testing