UPD: I've posted a tiny series that implements (1) for your consideration here:

https://patchwork.ozlabs.org/project/ovn/list/?series=297048

It would be great if this can be backported to LTS. Seems like a low
risk featurette.

Thanks,
Ihar

On Mon, Apr 25, 2022 at 8:56 PM Ihar Hrachyshka <ihrac...@redhat.com> wrote:
>
> 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