Add OVS 2.6 support in TripleO for DPDK

Registered by Saravanan KR

The method to enable DPDK in OVS has been modified from OVS2.5 to OVS2.6, and a new interface type has been exposed for reconnect issue. The details changes are listed below:

* In OVS 2.6, the DPDK configuration parameters like (pmd-cpu-mask, dpdk-lcore-mask, dpdk-socket-mem) needs to be passed to ovs-vswitchd via the other_config column of the Open_vSwitch table. For OVS2.5, there are existing puppet manifests (puppet-vswitch) to generate these configuration parameters as DPDK_OPTIONS in /etc/sysconfig/openvswitch, which is not supported in OVS2.6.

Following are the list of commands, which will replace the DPDK_OPTIONS configuration:
              ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true
              ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem=$SOCKET_MEMORY
              ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=$PMD_CORE_MASK
              ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=$OVS_CORE_MAS

Another important change would be, currently DPDK is enabled in OVS at Step4 of the deployment, during puppet-vswitch execution, which is very late, because when os-net-config creates the DPDK ports, those ports will be inactive until DPDK is enabled in OVS. To avoid this, DPDK shall be enabled in OVS, at the PreNetworkConfig step itself, which is actually before the os-net-config runs.

* Support for a new port type ovs_dpdk_vhost_user_client need to be added in os-net-config. This is required to resolve the issue of VM loosing connection when OVS-DPDK crashes or restarts. Also by using this new port type, we are overcoming workarounds, which has been done earlier via post-config deployment step.

* Deployment Upgrade shall be supported for this migration.

Blueprint information

Emilien Macchi
Saravanan KR
Saravanan KR
Series goal:
Proposed for pike
Milestone target:
milestone icon pike-3
Started by
Saravanan KR
Completed by
Saravanan KR

Related branches



Gerrit topic:,n,z

Addressed by:
    OVS2.6 changes for DPDK

Gerrit topic:,topic:bp/ovs-2-6-dpdk,n,z

Addressed by:
    Populate Hiera data before PreNetworkConfig

Addressed by:
    WIP: Enable DPDK on boot during the PreNetworkConfig

Addressed by:
    Removed enable_upgrade hiera setting as the package update is done by ansible

Addressed by:
    Modify PreNetworkConfig config inline with role-specific parameters

Addressed by:
    Enable DPDK on boot using PreNetworkConfig

Gerrit topic:,topic:bug/1654975,n,z


Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.