From 095fa73e80f7a9485e72a7f3ba23c4e4608627cd Mon Sep 17 00:00:00 2001
From: Christian Trautman <ctrautma@redhat.com>
Date: Tue, 28 Jun 2016 12:27:17 -0400
Subject: multi-queue: Add basic multi-queue functionality

Adds support for multi-queue using the following config.

 * VNF = QemuDpdkVhostUser
 * VSWITCH = OvsDpdkVhost
 * Guest Loopback as testpmd

Adds CPU mask, nbcore, rxq, and txq  options for testpmd.
Adds option for guest nic multi-queue.
Adds option for dpdkvhostuser and dpdk multi-queue enable

JIRA: VSPERF-309

Change-Id: I5296fc18b430eace598d8c51620fc27a6c46a65e
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
---
 conf/02_vswitch.conf |  4 ++++
 conf/04_vnf.conf     | 15 +++++++++++++++
 2 files changed, 19 insertions(+)

(limited to 'conf')

diff --git a/conf/02_vswitch.conf b/conf/02_vswitch.conf
index 7f9daf1c..79f0afbd 100644
--- a/conf/02_vswitch.conf
+++ b/conf/02_vswitch.conf
@@ -84,6 +84,10 @@ VSWITCHD_DPDK_CONFIG = {
 # Note: VSPERF will automatically detect, which type of DPDK configuration should
 # be used.
 
+# To enable multi queue modify the below param to the number of queues.
+# 0 = disabled
+VSWITCH_MULTI_QUEUES = 0
+
 # parameters passed to ovs-vswitchd in case that OvsVanilla is selected
 VSWITCHD_VANILLA_ARGS = []
 
diff --git a/conf/04_vnf.conf b/conf/04_vnf.conf
index 926ea50a..0a80c1af 100644
--- a/conf/04_vnf.conf
+++ b/conf/04_vnf.conf
@@ -98,10 +98,25 @@ GUEST_SMP = ['2', '2']
 # For 2 VNFs you may use [(4,5), (6, 7)]
 GUEST_CORE_BINDING = [(6, 7), (9, 10)]
 
+# Queues per NIC inside guest for multi-queue configuration, requires switch
+# multi-queue to be enabled. Set to 0 for disabled.
+GUEST_NIC_QUEUES = 0
+
 GUEST_START_TIMEOUT = 120
 GUEST_OVS_DPDK_DIR = '/root/ovs_dpdk'
 OVS_DPDK_SHARE = '/mnt/ovs_dpdk_share'
 
+# Set the CPU mask for testpmd loopback. To bind to specific guest CPUs use -l
+# GUEST_TESTPMD_CPU_MASK = '-l 0,1'
+GUEST_TESTPMD_CPU_MASK = '-c 0x3'
+
+# Testpmd multi-core config. Leave at 0's for disabled. Will not enable unless
+# GUEST_NIC_QUEUES are > 0. For bi directional traffic NB_CORES must be equal
+# to (RXQ + TXQ).
+GUEST_TESTPMD_NB_CORES = 0
+GUEST_TESTPMD_TXQ = 0
+GUEST_TESTPMD_RXQ = 0
+
 # IP addresses to use for Vanilla OVS PVP testing
 # Consider using RFC 2544/3330 recommended IP addresses for benchmark testing.
 # Network: 198.18.0.0/15
-- 
cgit