Skip to content

Add OVS access support for ethernet interfaces#552

Merged
enzocandotti merged 1 commit into
Wind-River:masterfrom
wasnio:feat/ovs-access
Jul 20, 2026
Merged

Add OVS access support for ethernet interfaces#552
enzocandotti merged 1 commit into
Wind-River:masterfrom
wasnio:feat/ovs-access

Conversation

@wasnio

@wasnio wasnio commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator

Add support for the ovs_access parameter on ethernet interfaces in the Deployment Manager. This enables configuring OVS access on an ethernet interface that sits on top of a pci-sriov lower interface, allowing OVS to use the physical function as an uplink port.

Add the ovsAccess field to the EthernetInfo CRD type and update the reconciler to pass ovs_access when creating or updating ethernet interfaces via the sysinv API. Add a new ethernetUpdateRequired function to detect changes to the ovs_access attribute.

Add webhook validation enforcing the following constraints:

  • ovsAccess requires a lower interface of class pci-sriov
  • The lower pci-sriov must not have platform networks assigned
  • Only one ethernet interface per host can have ovsAccess enabled
  • VLAN interfaces cannot be added on the same pci-sriov lower
  • Bond interfaces cannot use the same pci-sriov as a member

Update the gophercloud Interface and InterfaceOpts structs to include the ovs_access field. Update constructors to capture ovs_access from the running system for deployctl and host defaults collection.

Test Plan:

PASS: Deploy AIO-SX system with ovsAccess=true on an ethernet
      interface over a pci-sriov lower. Verify system host-if-show
      reports ovs_access=True on the interface.
PASS: Webhook correctly rejects invalid configurations (no lower,
      lower not pci-sriov, lower has platform networks, multiple
      ovsAccess interfaces).
PASS: Day-2 setting ovsAccess=false on an ethernet
      interface over a configured pci-sriov lower. Verify system
      host-if-show reports ovs_access=False on the interface.

@wasnio
wasnio requested a review from enzocandotti July 20, 2026 13:08
Add support for the ovs_access parameter on ethernet interfaces in the
Deployment Manager. This enables configuring OVS access on an ethernet
interface that sits on top of a pci-sriov lower interface, allowing OVS
to use the physical function as an uplink port.

Add the ovsAccess field to the EthernetInfo CRD type and update the
reconciler to pass ovs_access when creating or updating ethernet
interfaces via the sysinv API. Add a new ethernetUpdateRequired function
to detect changes to the ovs_access attribute.

Add webhook validation enforcing the following constraints:
- ovsAccess requires a lower interface of class pci-sriov
- The lower pci-sriov must not have platform networks assigned
- Only one ethernet interface per host can have ovsAccess enabled
- VLAN interfaces cannot be added on the same pci-sriov lower
- Bond interfaces cannot use the same pci-sriov as a member

Update the gophercloud Interface and InterfaceOpts structs to include
the ovs_access field. Update constructors to capture ovs_access from
the running system for deployctl and host defaults collection.

Test Plan:
PASS: Deploy AIO-SX system with ovsAccess=true on an ethernet
      interface over a pci-sriov lower. Verify system host-if-show
      reports ovs_access=True on the interface.
PASS: Webhook correctly rejects invalid configurations (no lower,
      lower not pci-sriov, lower has platform networks, multiple
      ovsAccess interfaces).
PASS: Day-2 setting ovsAccess=false on an ethernet
      interface over a configured pci-sriov lower. Verify system
      host-if-show reports ovs_access=False on the interface.

Signed-off-by: Wallysson <wallysson.silva@windriver.com>
@wasnio
wasnio force-pushed the feat/ovs-access branch from 5a8346c to 0522276 Compare July 20, 2026 17:29
@wasnio
wasnio marked this pull request as ready for review July 20, 2026 17:33
@wasnio
wasnio requested a review from enzocandotti July 20, 2026 17:33
@enzocandotti
enzocandotti merged commit 512b372 into Wind-River:master Jul 20, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants