Bug 1462592

Summary: RFE: Mellanox hardware offload support for openvswitch
Product: Red Hat OpenStack Reporter: Moshe Levi <moshele>
Component: openstack-novaAssignee: Stephen Finucane <stephenfin>
Status: CLOSED ERRATA QA Contact: Joe H. Rahme <jhakimra>
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: amuller, a.perevalov, berrange, dasmith, eglynn, fbaudin, fherrman, jschluet, kchamart, lyarwood, moshele, sbauza, sclewis, sferdjao, sgordon, slavash, srevivo, sshwarts, stephenfin, vromanso
Target Milestone: Upstream M2Keywords: FutureFeature, OtherQA, Triaged
Target Release: 13.0 (Queens)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-nova-17.0.0-0.20180123163703.27eadbc.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-06-27 13:31:22 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1383792, 1467354, 1467356, 1467359, 1469552, 1470100    
Bug Blocks: 1419948, 1698527, 1474827    

Description Moshe Levi 2017-06-19 02:57:04 UTC
In Kernel 4.8 we introduced Traffic Control (TC see [1]) hardware offloads
framework for SR-IOV VFs which allows us to configure the NIC [2].
Subsequent OVS patches [3] allow us to use the TC framework
to offload OVS datapath rules. The feature is merged in ovs upstream. 

To allow the support in openstack we need the following changes:
os-vif - https://review.openstack.org/#/c/460278/
This patch adds plug/unplug when using ovs vif 'OVS_ACCELERATION'. The
plug method will lookup the VF representor and connect it to 'br-int',
while the unplug method will remove the VF representor from 'br-int'.

nova- https://review.openstack.org/#/c/398265/
This patch add support for  VIF_TYPE_OVS_ACCELERATION

neutron patches - https://review.openstack.org/#/c/275616/ & https://review.openstack.org/#/c/452530/
This patch allow OVS mech driver to bind direct (SR-IOV) port.
This will allow to offload the OVS flows using tc to the SR-IOV NIC
and gain accelerate OVS.

The current support is for ovs mechanism driver we will extend the support to other mechanism drivers such odl and ovn.


[1] https://linux.die.net/man/8/tc
[2] http://netdevconf.org/1.2/papers/efraim-gerlitz-sriov-ovs-final.pdf
[3] https://mail.openvswitch.org/pipermail/ovs-dev/2017-April/330606.html

Comment 2 Slava Shwartsman 2017-07-03 13:46:58 UTC
This BZ depends on:
Bug 1467356 - [Mellanox Pike FEAT] openstack-neutron: Add support for OVS HW offload
Bug 1467354 - [Mellanox Pike FEAT] openstack-nova: add support for VIF_TYPE_OVS_ACCELERATION
Bug 1467220 - [Mellanox Pike FEAT] openvswitch: update package
Bug 1467359 - [Mellanox Pike FEAT] python-os-vif: update package

Comment 6 Lee Yarwood 2017-12-07 17:22:42 UTC
*** Bug 1468329 has been marked as a duplicate of this bug. ***

Comment 9 Jon Schlueter 2018-06-22 16:20:33 UTC
The content for this fix is included in OSP 13 RC which is available on the Red Hat OpenStack Platform beta channels currently.  Any efforts to verify that these bugs have been fixed would be appreciated.

Comment 10 Moshe Levi 2018-06-25 12:09:09 UTC
Do you mean to check ovs-offload works with OSP 13?
What exact bugs are you referring

Comment 12 errata-xmlrpc 2018-06-27 13:31:22 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2018:2086