Bug 1431506

Summary: Support for OvS 2.6 features for DPDK - Multi-queue and Jumbo Frames
Product: Red Hat OpenStack Reporter: atelang <atelang>
Component: os-net-configAssignee: RHOS Maint <rhos-maint>
Status: CLOSED ERRATA QA Contact: Yariv <yrachman>
Severity: medium Docs Contact:
Priority: high    
Version: 12.0 (Pike)CC: dbecker, fbaudin, hbrock, jslagle, mburns, morazi, oblaut, rhel-osp-director-maint, skramaja, tvignaud, vchundur, yrachman, zgreenbe
Target Milestone: Upstream M2Keywords: FutureFeature, Triaged
Target Release: 12.0 (Pike)   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/tripleo/+spec/ovs-2-6-dpdk
Whiteboard: upstream_milestone_pike-2 upstream_definition_approved upstream_status_good-progress
Fixed In Version: os-net-config-7.0.1-0.20170627055309.03d3a5d.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-12-13 21:13:42 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:
Embargoed:
Bug Depends On:    
Bug Blocks: 1431513, 1442136, 1469684    

Description atelang 2017-03-13 02:40:25 UTC
Description of problem: 
TripleO support for Jumbo frames and Multiqueue

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info: 
Blueprint: https://blueprints.launchpad.net/tripleo/+spec/ovs-2-6-dpdk

Blueprint Details below. 
Jumbo Frames:
The feature “Jumbo Frames”[2] can be enabled by configuring the MTU value for the OVS-DPDK interface and OVS-DPDK bond. Already os-net-config supports an option for providing MTU values[1], but for DPDK it has to be set to the OvS DB with below command:
 ovs-vsctl -- set Interface <DPDK device> mtu_request=<frame size>

DPDK port types in os-net-config shall append this to ovs_extra and update to the ifcfg files if MTU value is set on the DPDK interface and bond.

[1] http://docs.openstack.org/developer/tripleo-docs/advanced_deployment/network_isolation.html#configuring-jumbo-frames
[2] https://software.intel.com/en-us/articles/jumbo-frames-in-open-vswitch-with-dpdk

Multi-queue support:
OVS2.6 has support to specify the number of multi-queues per physical interface. The command, “ovs-vsctl set Interface <DPDK interface> options:n_rxq=<integer>”, will set the number of multi-queues in OvS DB, that can be used for this interface. The rx queues are assigned to pmd threads on the same NUMA node in a round-robin fashion.

A new parameter “rx_queues” shall be added to all DPDK interface types to configure the number of queues.

- type: ovs_user_bridge
  name: br-link
  memebers:
    -
      type: ovs_dpdk_port
      name: dpdk0
      rx_queues: 4
      members:
        -
          type: interface
          name: nic2

Note that this value can be provided via ovs_extra of the interface, but having it as separate value provides better usability.

Comment 6 Ziv Greenberg 2017-10-25 12:33:46 UTC
Has been verified.

Thanks,
Ziv

Comment 10 errata-xmlrpc 2017-12-13 21:13:42 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-2017:3462