Skip to content

Conversation

@fnordahl
Copy link
Contributor

No description provided.

fnordahl added a commit to fnordahl/charm-ovn-dedicated-chassis that referenced this pull request Oct 13, 2025
At the time of initial implementation [0] of the
ovn-dedicated-chassis, the use case known to us for hardware
offload, required the combination of SR-IOV virtual functions and
switchdev mode eswitch to be enabled.

The purpose of the ovn-dedicated-chassis charm is to provide a
principal charm that can be used to deploy a independent entity
and have it serve as a network gateway, without hosting any
virtual machines on the same entity.

The need for a charm unit to manage SR-IOV only makes sense when
you have virtual machines colocated with the charm unit, and as
such this code was deemed inapplicable for the
ovn-dedicated-chassis.

There are however use cases where we want hardware offload to be
enabled in OVS without the charm managing SR-IOV VFs nor the state
of the switchdev mode.

A concrete example is deployment to the arm64 operating sytem on
BlueField, where hardware offload capable NIC is preconfigured to
be in switchdev mode and no SR-IOV virtual functions are visible.

Func-Test-PR: openstack-charmers/zaza-openstack-tests#1330
Reported-at: https://launchpad.net/bugs/2116862
Signed-off-by: Frode Nordahl <[email protected]>
fnordahl added a commit to fnordahl/charm-ovn-dedicated-chassis that referenced this pull request Oct 13, 2025
At the time of initial implementation [0] of the
ovn-dedicated-chassis, the use case known to us for hardware
offload, required the combination of SR-IOV virtual functions and
switchdev mode eswitch to be enabled.

The purpose of the ovn-dedicated-chassis charm is to provide a
principal charm that can be used to deploy a independent entity
and have it serve as a network gateway, without hosting any
virtual machines on the same entity.

The need for a charm unit to manage SR-IOV only makes sense when
you have virtual machines colocated with the charm unit, and as
such this code was deemed inapplicable for the
ovn-dedicated-chassis.

There are however use cases where we want hardware offload to be
enabled in OVS without the charm managing SR-IOV VFs nor the state
of the switchdev mode.

A concrete example is deployment to the arm64 operating sytem on
BlueField, where hardware offload capable NIC is preconfigured to
be in switchdev mode and no SR-IOV virtual functions are visible.

Due to assumptions of dependent code we need to make the
`sriov-numvfs` configuration option available [0].

Make the `enable-hardware-offload` configuartion option available.

0: https://github.com/juju/charm-helpers/blob/8f8c3fbe317070dc5c7d3bf9f196c6506dec7c7f/charmhelpers/contrib/openstack/context.py#L3343
Func-Test-PR: openstack-charmers/zaza-openstack-tests#1330
Reported-at: https://launchpad.net/bugs/2116862
Signed-off-by: Frode Nordahl <[email protected]>
fnordahl added a commit to fnordahl/charm-ovn-dedicated-chassis that referenced this pull request Oct 13, 2025
At the time of initial implementation [0] of the
ovn-dedicated-chassis, the use case known to us for hardware
offload, required the combination of SR-IOV virtual functions and
switchdev mode eswitch to be enabled.

The purpose of the ovn-dedicated-chassis charm is to provide a
principal charm that can be used to deploy an independent entity
and have it serve as a network gateway, without hosting any
virtual machines on the same entity.

The need for a charm unit to manage SR-IOV only makes sense when
you have virtual machines colocated with the charm unit, and as
such this code was deemed inapplicable for the
ovn-dedicated-chassis.

There are however use cases where we want hardware offload to be
enabled in OVS without the charm managing SR-IOV VFs nor the state
of the switchdev mode.

A concrete example is deployment to the arm64 operating system on
BlueField, where hardware offload capable NIC is preconfigured to
be in switchdev mode and no SR-IOV virtual functions are visible.

Due to assumptions of dependent code we need to make the
`sriov-numvfs` configuration option available [0].

Make the `enable-hardware-offload` configuration option available.

0: https://github.com/juju/charm-helpers/blob/8f8c3fbe317070dc5c7d3bf9f196c6506dec7c7f/charmhelpers/contrib/openstack/context.py#L3343
Func-Test-PR: openstack-charmers/zaza-openstack-tests#1330
Reported-at: https://launchpad.net/bugs/2116862
Signed-off-by: Frode Nordahl <[email protected]>
@fnordahl fnordahl marked this pull request as ready for review October 13, 2025 11:43
fnordahl added a commit to fnordahl/charm-ovn-dedicated-chassis that referenced this pull request Oct 13, 2025
At the time of initial implementation [0] of the
ovn-dedicated-chassis, the use case known to us for hardware
offload, required the combination of SR-IOV virtual functions and
switchdev mode eswitch to be enabled.

The purpose of the ovn-dedicated-chassis charm is to provide a
principal charm that can be used to deploy an independent entity
and have it serve as a network gateway, without hosting any
virtual machines on the same entity.

The need for a charm unit to manage SR-IOV only makes sense when
you have virtual machines colocated with the charm unit, and as
such this code was deemed inapplicable for the
ovn-dedicated-chassis.

There are however use cases where we want hardware offload to be
enabled in OVS without the charm managing SR-IOV VFs nor the state
of the switchdev mode.

A concrete example is deployment to the arm64 operating system on
BlueField, where hardware offload capable NIC is preconfigured to
be in switchdev mode and no SR-IOV virtual functions are visible.

Due to assumptions of dependent code we need to make the
`sriov-numvfs` configuration option available [0].

Make the `enable-hardware-offload` configuration option available.

0: https://github.com/juju/charm-helpers/blob/8f8c3fbe317070dc5c7d3bf9f196c6506dec7c7f/charmhelpers/contrib/openstack/context.py#L3343
Func-Test-PR: openstack-charmers/zaza-openstack-tests#1330
Reported-at: https://launchpad.net/bugs/2116862
Signed-off-by: Frode Nordahl <[email protected]>
@fnordahl fnordahl requested a review from mkalcok October 13, 2025 16:09
Copy link
Contributor

@mkalcok mkalcok left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@fnordahl fnordahl merged commit fb477bb into openstack-charmers:master Oct 14, 2025
3 checks passed
fnordahl added a commit to fnordahl/charm-ovn-dedicated-chassis that referenced this pull request Oct 14, 2025
At the time of initial implementation [0] of the
ovn-dedicated-chassis, the use case known to us for hardware
offload, required the combination of SR-IOV virtual functions and
switchdev mode eswitch to be enabled.

The purpose of the ovn-dedicated-chassis charm is to provide a
principal charm that can be used to deploy an independent entity
and have it serve as a network gateway, without hosting any
virtual machines on the same entity.

The need for a charm unit to manage SR-IOV only makes sense when
you have virtual machines colocated with the charm unit, and as
such this code was deemed inapplicable for the
ovn-dedicated-chassis.

There are however use cases where we want hardware offload to be
enabled in OVS without the charm managing SR-IOV VFs nor the state
of the switchdev mode.

A concrete example is deployment to the arm64 operating system on
BlueField, where hardware offload capable NIC is preconfigured to
be in switchdev mode and no SR-IOV virtual functions are visible.

Due to assumptions of dependent code we need to make the
`sriov-numvfs` configuration option available [0].

Make the `enable-hardware-offload` configuration option available.

0: https://github.com/juju/charm-helpers/blob/8f8c3fbe317070dc5c7d3bf9f196c6506dec7c7f/charmhelpers/contrib/openstack/context.py#L3343
Func-Test-PR: openstack-charmers/zaza-openstack-tests#1330
Reported-at: https://launchpad.net/bugs/2116862
Signed-off-by: Frode Nordahl <[email protected]>
(cherry picked from commit 3b21ecd)
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