openstack-dpdk installation

Sean Mooney smooney at redhat.com
Sun Feb 9 16:56:35 UTC 2020


On Sun, 2020-02-09 at 01:09 +0300, mesut aygün wrote:
> Hey,
> 
> I am working over dpdk installation with openstack ocata release.
> How can I use the neutron-openvswitch-agent-dpdk or anything else  instead
> of  neutron-openvswitch-agent?
in octa you can use the standared neutorn openvswitch agent with ovs-dpdk
the only config option you need to set is [ovs]/datapath_type=netdev in the ml2_conf.ini on each of the compute nodes.


https://github.com/openstack/neutron/blob/9aa9a097e6c9f765a59eb572a5a816169d83f2cd/neutron/conf/plugins/ml2/drivers/ovs_conf.py#L107-L112

addtionally when installing ovs you need to configure it for dpdk.
most distros now compile in support for dpdk into ovs so all you have to do to use it is configure it rahter then
recompile ovs or install an addtional package.

there is some upstream docs on how to do that here
http://docs.openvswitch.org/en/latest/intro/install/dpdk/

the clip note version is you need to allcoated hugepages on the host for ovs-dpdk to use and addtional hugepages for
your vms. then you need to bind the nic you intend to use with dpdk to the vfio-pci driver.
next you need to define some config options to test ovs about that and what cores dpdk should use.

        sudo ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=$OVS_PMD_CORE_MASK other_config:dpdk-
init=True other_config:dpdk-lcore-mask=$OVS_CORE_MASK \
        other_config:dpdk-mem-channels=4 other_config:dpdk-socket-mem=$OVS_SOCKET_MEM other_config:dpdk-hugepage-
dir=$OVS_HUGEPAGE_MOUNT  \
        other_config:dpdk-extra=" --proc-type primary $pciAddressWhitelist "
        [ -n "$OVS_VHOST_USER_SOCKET_DIR" ] && sudo ovs-vsctl --no-wait set Open_vSwitch . other_config:vhost-sock-
dir=$OVS_VHOST_USER_SOCKET_DIR

finally when you create the ovs bridges you need to set them to ues the netdev datapath although neutron will also do
this its just a good habit to do it when first creating them once done you can add the physical nics to the br-ex or
your provider bridge as type dpdk.

ovs-vsctl --may-exist add-port $bridge $nic -- set Interface $nic type=dpdk options:dpdk-devargs=$addr

with all that said that is how you install this manually if you are compiling form source.
i would recomend looking at your openstack installer of choice to see if they have support or your disto vendors
documentation as many installers have native support for ovs-dpdk and will automate it for you.

> 
> Which can I choose the correct packages with os dpdk versions?
> 
> 
> 
> I couldn't use the devstack versions!!
> 
> Best regards




More information about the openstack-discuss mailing list