Role - tripleo-ovs-dpdk

Role Documentation

Welcome to the “tripleo-ovs-dpdk” role documentation. This role enables and configures DPDK in OpenvSwitch.

Requirements

  • Ensure hugepages is enabled

Role Defaults

  • tripleo_ovs_dpdk_pmd_core_list

    • Description: (Mandatory) List of PMD Cores for DPDK. Its a comma-separated string of logical cores. These core should be part of isolcpus kernel parameter and be excluded from NovaComputeCpuDedicatedSet and from NovaComputeCpuSharedSet

    • Default: ''

    • Examples: '1,13'

  • tripleo_ovs_dpdk_lcore_list

    • Description: (Optional) List of lcores for DPDK. Its a comma-separated string of logical cores. All ovs-vswitchd threads will be pinned to the first core declared in the mask.

    • Default: ''

    • Examples: '0,12'

  • tripleo_ovs_dpdk_socket_memory

    • Description: (Mandatory) Memory in MB to be allocated on each NUMA node for DPDK. Its a comma-separated string of memory in MB.

    • Default: ''

    • Examples:

      • '1024' for a single NUMA memory allocation

      • '1024,1024' for a dual NUMA memory allocation

  • tripleo_ovs_dpdk_memory_channels

    • Description: (Optional) Number of memory channels in the memory architecture. Its a number.

    • Default: 4

  • tripleo_ovs_dpdk_extra

    • Description: (Optional) Extra parameter to be passed on to DPDK for initialization. Its a string.

    • Default: ''

  • tripleo_ovs_dpdk_revalidator_cores

    • Description: (Optional) Number of cores to he used for revalidator threads. Its a string with a number, specifying the count of logical cores to be used as revalidator threads.

    • Default: ''

    • Examples: '2'

  • tripleo_ovs_dpdk_handler_cores

    • Description: (Optional) Number of cores to be used for handler threads. Its a string with a number, specifying the count of logical cores to be used as handler threads.

    • Default: ''

    • Examples: '2'

  • tripleo_ovs_dpdk_emc_insertion_probablity

    • Description: (Optional) EMC insertion inverse probability. Its a string with a number of flows (out of which 1 flow will cached). Having 100, results in caching 1 in 100 flows. Having 0, disables EMC cache.

    • Default: ''

    • Examples: '100'

  • tripleo_ovs_dpdk_enable_tso

    • Description: (Optional) Enable TSO support in OVS DPDK datapath.

    • Default: false

    • Examples: true

  • tripleo_ovs_dpdk_pmd_auto_lb

    • Description: (Optional) Enable DPDK OVS PMD Auto Load Balance.

    • Default: false

    • Examples: true

  • tripleo_ovs_dpdk_pmd_load_threshold

    • Description: (Optional) Minimum PMD thread load threshold, in range 0 to 100. Its a string with a number, specifies the minimum PMD thread load threshold (% of used cycles) of any non-isolated PMD threads when a PMD Auto Load Balance may be triggered.

    • Default: ''

    • Examples: '50'

  • tripleo_ovs_dpdk_pmd_improvement_threshold

    • Description: (Optional) PMD load variance improvement threshold, in range 0 to 100. Its a string with a number, specifies the minimum evaluated % improvement in load distribution across the non-isolated PMD threads that will allow a PMD Auto Load Balance to occur. Note, setting this parameter to 0 will always allow an auto load balance to occur regardless of estimated improvement or not.

    • Default: ''

    • Examples: '10'

  • tripleo_ovs_dpdk_pmd_rebal_interval

    • Description: (Optional) PMD auto load balancing interval, in range 0 to 20,000. Its a string with a number, specifies the minimum time (in minutes) between 2 consecutive PMD Auto Load Balancing iterations. The defaul value is 1 min.

    • Default: ''

    • Examples: '5'

Modules

Dependencies

None