summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukasz Pawlik <lukaszx.pawlik@intel.com>2019-10-07 07:48:53 +0100
committerEmma Finn <emma.finn@intel.com>2019-10-29 11:04:50 +0000
commit579caa865deca76619ee1611e427ac222aa66321 (patch)
tree23f0dc2069685244e52ce728fd6214d2adc8f0a0
parentf8f22a8301ff5c188f6a5647a52c57290da5ffa6 (diff)
integration: fix ovsdpdk_mq_pvp_rxqs_testpmd
Parameters passed to testpmd are changed in DPDK 18.11. Setting stat-qmap does not work from command line it can be set only from testpmd application before port forwarding is started. Decrease frame rate on traffic generator to receive traffic on two queues. Change-Id: I82b8e478226d59b091154d325afed07327908250 Signed-off-by: Lukasz Pawlik <lukaszx.pawlik@intel.com>
-rw-r--r--conf/04_vnf.conf8
-rw-r--r--conf/__init__.py3
-rw-r--r--conf/integration/01b_dpdk_regression_tests.conf14
-rw-r--r--vnfs/qemu/qemu.py2
4 files changed, 24 insertions, 3 deletions
diff --git a/conf/04_vnf.conf b/conf/04_vnf.conf
index cf44a8ec..a6a31e9d 100644
--- a/conf/04_vnf.conf
+++ b/conf/04_vnf.conf
@@ -215,3 +215,11 @@ GUEST_TESTPMD_PARAMS = ['-c 0x3 -n 4 --socket-mem 512 -- '
# e.g. io|mac|mac_retry|macswap|flowgen|rxonly|txonly|csum|icmpecho|...
# Note: Option "mac_retry" has been changed to "mac retry" since DPDK v16.07
GUEST_TESTPMD_FWD_MODE = ['csum']
+
+# map queue stats to separate regs to verify MQ functionality
+# setting this from testpmd command line prameters since DPDK 18.11 does not
+# work as expected so we have to set this inside testpmd i.e. to set rx queue
+# 2 on port 0 to mapping 5 add: "rx 0 2 5"
+# Please see DPDK documentation to get more information how to set stat_qmap
+# (https://doc.dpdk.org/guides/testpmd_app_ug/testpmd_funcs.html)
+GUEST_QUEUE_STATS_MAPPING = []
diff --git a/conf/__init__.py b/conf/__init__.py
index 83c5475f..6dff8360 100644
--- a/conf/__init__.py
+++ b/conf/__init__.py
@@ -256,6 +256,9 @@ class Settings(object):
Expand VM option with given key for given number of VMs
"""
tmp_value = self.getValue(key)
+ # skip empty/not set value
+ if not tmp_value:
+ return
if isinstance(tmp_value, str):
scalar = True
master_value = tmp_value
diff --git a/conf/integration/01b_dpdk_regression_tests.conf b/conf/integration/01b_dpdk_regression_tests.conf
index 960f47f3..e84a6165 100644
--- a/conf/integration/01b_dpdk_regression_tests.conf
+++ b/conf/integration/01b_dpdk_regression_tests.conf
@@ -593,15 +593,14 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
"GUEST_SMP" : ['5'],
"GUEST_TESTPMD_PARAMS" : ['-c 0x1F -n 4 --socket-mem 512 -- '
'--burst=64 -i --nb-cores=4 '
- # map queue stats to separate regs to verify MQ functionality
- '--rx-queue-stats-mapping=\(0,0,0\),\(0,1,1\),\(1,0,2\),\(1,1,3\) '
- '--tx-queue-stats-mapping=\(0,0,4\),\(0,1,5\),\(1,0,6\),\(1,1,7\) '
'--rxq=2 --txq=2'],
"TRAFFICGEN_DURATION" : 5,
"TRAFFIC" : {
"traffic_type" : "rfc2544_continuous",
"multistream" : 3,
"stream_type" : "L3",
+ "frame_rate" : 1,
+ "learning_frames" : False,
'l3': {
'enabled': True,
'proto': 'udp',
@@ -609,6 +608,15 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
'dstip': '1.1.1.1',
},
},
+ "GUEST_QUEUE_STATS_MAPPING" : ["rx 0 0 0",
+ "rx 0 1 1",
+ "rx 1 0 2",
+ "rx 1 1 3",
+ "tx 0 0 4",
+ "tx 0 1 5",
+ "tx 1 0 6",
+ "tx 1 1 7"
+ ]
},
"TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT +
[
diff --git a/vnfs/qemu/qemu.py b/vnfs/qemu/qemu.py
index a2c8d4be..fb87ed27 100644
--- a/vnfs/qemu/qemu.py
+++ b/vnfs/qemu/qemu.py
@@ -398,6 +398,8 @@ class IVnfQemu(IVnf):
self.execute_and_wait('./testpmd {}'.format(testpmd_params), 60, "Done")
self.execute_and_wait('set fwd ' + self._testpmd_fwd_mode, 20, 'testpmd>')
+ for entry in S.getValue('GUEST_QUEUE_STATS_MAPPING'):
+ self.execute_and_wait('set stat_qmap ' + entry, 2, 'testpmd>')
self.execute_and_wait('start', 20, 'testpmd>')
def _configure_l2fwd(self):