Hi all,

I am working on the following feature request:
https://bugzilla.redhat.com/show_bug.cgi?id=2060310

Request is to maintain neutron OVN driver parity with the legacy
ml2/ovs driver. This means the feature is requested only for ports
attached to VLAN / flat networks (meaning, there's a physical bridge
to set QoS queues on).

Existing neutron QoS API is working on port level:
https://docs.openstack.org/api-ref/network/v2/index.html#qos-bandwidth-limit-rules

Existing OVN qos API is available in two flavors:
1) LSP:options:
https://github.com/ovn-org/ovn/blob/b22684d4e37c3dd205a959925b6e3f1827bbe045/ovn-nb.xml#L1031-L1039
2) LS:qos_rules:
https://github.com/ovn-org/ovn/blob/b22684d4e37c3dd205a959925b6e3f1827bbe045/ovn-nb.xml#L470-L473

(1) is limited [relies on direct netdev commands on br-phys].
(2) is more advanced [uses OVS meters, device agnostic].

Since ml2/ovs parity requires support for ports attached to a physical
port only, both approaches would work for OpenStack.

In terms of hardware offload potential, (1) is ready, and (2) is not
offloaded yet. But, there is a OVS patch series up for review that
should allow it:
https://patchwork.ozlabs.org/project/openvswitch/list/?series=293970

Existing ml2/ovs implementation is very similar to what OVN already
does for LSP:options:qos_* settings:
https://github.com/openstack/neutron/blob/720a1c3de9a557478ed93d591f07276ae8df21f3/neutron/plugins/ml2/drivers/openvswitch/agent/extension_drivers/qos_driver.py#L165-L198

For reference, OVN implementation can be found here:
https://github.com/ovn-org/ovn/blob/a0ded8874865d999ac9e8204c6affa4a5fd70699/controller/binding.c#L168

(1) can be well isolated in OVN. (2) will require implementation of
min bw guarantee in OVS first, then adopting the new meter config in
OVN.

Considering that the next OVS release (2.18) is scheduled for Aug 2022
and won't be LTS, I am not sure if we can rely on meters being
offloaded in the near future. Also, we would probably have to postpone
OVN implementation until the new meter is released in OVS, which means
skipping the next OVN release in June and including minimum bandwidth
guarantees in 22.09.0+.

We in the Red Hat OpenStack team would like to speed up the delivery
of the QoS feature.  We don't need device agnostic / smart flow
matching for the feature since we are merely looking at parity
differences with the now obsolete ml2/ovs driver.  Hence (1) satisfies
our needs. Plus we need hardware offload support, and this is at the
moment not supported for OVS meters.

Question: with that in mind, can (1) be implemented in OVN?

We are operating on a tight schedule for 22.06 so I would appreciate
it if this can be clarified quickly so we can post all the needed
patches before soft freeze.

Thanks,
Ihar

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to