Bug 2166580

Summary: [RFE] Enable SR-IOV VFs and configure them in a single context
Product: Red Hat Enterprise Linux 9 Reporter: Carlos Goncalves <cgoncalves>
Component: nmstateAssignee: Gris Ge <fge>
Status: CLOSED ERRATA QA Contact: Mingyu Shi <mshi>
Severity: medium Docs Contact:
Priority: medium    
Version: 9.2CC: ferferna, jiji, jishi, network-qe, sfaye, till
Target Milestone: rcKeywords: FutureFeature, Triaged
Target Release: ---Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: nmstate-2.2.7-1.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-05-09 07:32:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Deadline: 2023-02-27   

Description Carlos Goncalves 2023-02-02 09:09:31 UTC
As an OpenShift cluster administrator, I would like to create SR-IOV VFs and configure them in a single context so that I can use them as gateway network interfaces for the SDN and other host services at node provision time (day-1 operations).

Currently, this is not possible. The only way is to first enable the SR-IOV VFs and then (in a second context) configure them. Doing this in a two-part is not possible at node provisioning.

Example:

    interfaces:
      - name: eno1
        type: ethernet
        ethernet:
          sr-iov:
            total-vfs: 1
      - name: eno1v0
        type: ethernet
        state: up
        ipv4:
          dhcp: true
          enabled: true

Comment 3 Gris Ge 2023-02-08 06:46:24 UTC
Patch sent to upstream: https://github.com/nmstate/nmstate/pull/2225

Considering VF might have different naming scheme, please use `sriov:<pf_name>:<vf_id>` to refer the about-to-create VF.
For example:


```yml
---
interfaces:
  - name: sriov:eth1:1
    type: ethernet
    state: up
    ipv4:
      enabled: false
    ipv6:
      enabled: false
  - name: eth1
    type: ethernet
    state: up
    ethernet:
      sr-iov:
        total-vfs: 2
```

Comment 9 Mingyu Shi 2023-02-22 04:48:29 UTC
Verified with:
nmstate-2.2.7-1.el9.x86_64
nispor-1.2.10-1.el9.x86_64
NetworkManager-1.42.0-1.el9.x86_64
Linux dell-per740-68.rhts.eng.pek2.redhat.com 5.14.0-252.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Feb 1 09:46:00 EST 2023 x86_64 x86_64 x86_64 GNU/Linux

Both naming formats for VF work:
interfaces:
- name: ens3f0np0
  type: ethernet
  state: up
  ethernet:
    sr-iov:
      total-vfs: 2
- name: ens3f0v0
  state: up
  type: ethernet
  mtu: 5000
  ipv4:
    enabled: true
    dhcp: true
  ipv6:
    enabled: true
    dhcp: true
    autoconf: true
- name: sriov:ens3f0np0:1
  state: up
  type: ethernet
  mtu: 6000
  ipv4:
    enabled: true
    dhcp: true
  ipv6:
    enabled: true
    dhcp: true
    autoconf: true

Comment 11 errata-xmlrpc 2023-05-09 07:32:13 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (nmstate bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2023:2190