Support for OvS 2.6 features for DPDK - Multi-queue and Jumbo Frames

Registered by Saravanan KR on 2017-02-03

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.

Blueprint information

Status:
Complete
Approver:
Emilien Macchi
Priority:
Medium
Drafter:
Saravanan KR
Direction:
Approved
Assignee:
Saravanan KR
Definition:
Approved
Series goal:
Accepted for pike
Implementation:
Implemented
Milestone target:
milestone icon pike-3
Started by
Emilien Macchi on 2017-02-27
Completed by
Saravanan KR on 2017-06-19

Related branches

Sprints

Whiteboard

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.