RFE: Adding support for direct ports with qos in ovs

Bug #1843165 reported by waleed mousa
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Wishlist
waleed mousa

Bug Description

Ovs mechanism driver supports direct ports for ovs hardware offlaoding so we need to extend the capabilities to qos as well

Revision history for this message
Miguel Lavalle (minsel) wrote :

What you are saying is that we should be able to assign QoS policies and rules to ports with hardware offloading? Can you elaborate?

tags: added: qos
Revision history for this message
Moshe Levi (moshele) wrote :

yes,

So today ovs mechanism driver can bind Direct port see [1] for ovs offload.
ovs was extended with tc-offload to support rate limit see [1].
The ovs qos drive [2] it limited to work only with Normal Ports, so we can't put QOS rules on direct port.
We just want to add Direct port to ovs Qos driver as done here [4]

[1] - https://github.com/openvswitch/ovs/commit/e7f6ba220e10c0b560da097185514b6e33e2dc71
[2] - https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/mech_driver/mech_openvswitch.py#L83

[3] - https://github.com/openstack/neutron/blob/master/neutron/services/qos/drivers/openvswitch/driver.py#L56
[4] - https://review.opendev.org/#/c/611605/

Revision history for this message
Miguel Lavalle (minsel) wrote :

Sounds good, let's discuss it in the drivers meeting. Thanks for your clarification

Changed in neutron:
status: New → Confirmed
importance: Undecided → Wishlist
tags: added: rfe-triaged
removed: rfe
Revision history for this message
Slawek Kaplonski (slaweq) wrote :

Do this RFE require any API changes? I think it's only matter of changes on qos driver and/or QoS ovs agent extension. Is my understanding correct?

And second question, is backend implementation of e.g. bandwidth limit exactly the same for direct port like for "normal" ports?

Changed in neutron:
assignee: nobody → waleed mousa (waleedm)
status: Confirmed → In Progress
Changed in neutron:
milestone: none → ussuri-1
milestone: ussuri-1 → none
Revision history for this message
Slawek Kaplonski (slaweq) wrote :

Hi Waleed Mousa, if You plan to work on this RFE, can You answer questions from comment #4? Than I hope we will be able to talk about it on the drivers meeting.

Revision history for this message
waleed mousa (waleedm) wrote :

Hi Slawek Kaplonski, sorry for late response
There is no API changes required, and regarding the backend implementation, yes it's the same as normal ports

Revision history for this message
Slawek Kaplonski (slaweq) wrote :

Hi,

We discussed this rfe again on our last drivers meeting: http://eavesdrop.openstack.org/meetings/neutron_drivers/2020/neutron_drivers.2020-01-10-14.00.log.html#l-23 and we approved this RFE.

Please note that we would need some clear info about required openvswitch and kernel version in documentation and maybe also new sanity checks can be added in https://github.com/openstack/neutron/blob/master/neutron/cmd/sanity/checks.py to ensure that this feature can be used or not on host.

tags: added: rfe-approved
removed: rfe-triaged
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.opendev.org/611605
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=12089a526e25cfe5ccb8b4da86b653970d75f14a
Submitter: Zuul
Branch: master

commit 12089a526e25cfe5ccb8b4da86b653970d75f14a
Author: waleed mousa <email address hidden>
Date: Thu Oct 18 09:41:38 2018 -0400

    Add support for direct ports with QoS in OVS

    Today OVS mechanism driver can bind Direct port see [1] for OVS hardware
    offloads.
    OVS was extended with tc-offload to support rate limit see [2].
    The OVS QoS driver [3] is limited to work only with Normal Ports, so we
    can't put QoS rules on direct port.
    This patch proposes to add support in OVS QoS driver for direct ports.
    The mechanism to enforce such policies is the same with normal and
    hardware offloaded direct ports.

    [1] - https://github.com/openvswitch/ovs/commit/e7f6ba220e10c0b560da097185514b6e33e2dc71
    [2] - https://github.com/openstack/neutron/blob/3b074128ca91ba335bd8ef9db8dfe00fda51a63d/neutron/plugins/ml2/drivers/openvswitch/mech_driver/mech_openvswitch.py#L83
    [3] - https://github.com/openstack/neutron/blob/3b074128ca91ba335bd8ef9db8dfe00fda51a63d/neutron/services/qos/drivers/openvswitch/driver.py#L56

    Change-Id: I24b5cd6c022e479080fc84e4c445c9cddfc88e38
    Closes-Bug: #1843165

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 16.0.0.0b1

This issue was fixed in the openstack/neutron 16.0.0.0b1 development milestone.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (stable/train)

Change abandoned by "Rodolfo Alonso <email address hidden>" on branch: stable/train
Review: https://review.opendev.org/c/openstack/neutron/+/768740
Reason: we can't remove the WIP flag, I'll push a new patch

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/train)

Fix proposed to branch: stable/train
Review: https://review.opendev.org/c/openstack/neutron/+/793473

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (stable/train)

Change abandoned by "Rodolfo Alonso <email address hidden>" on branch: stable/train
Review: https://review.opendev.org/c/openstack/neutron/+/793473
Reason: Maximum versions in the support matrix do not comply with the feature requirements.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.