diff options
author | Lukasz Pawlik <lukaszx.pawlik@intel.com> | 2019-10-07 07:48:53 +0100 |
---|---|---|
committer | Emma Finn <emma.finn@intel.com> | 2019-10-29 11:04:50 +0000 |
commit | 579caa865deca76619ee1611e427ac222aa66321 (patch) | |
tree | 23f0dc2069685244e52ce728fd6214d2adc8f0a0 | |
parent | f8f22a8301ff5c188f6a5647a52c57290da5ffa6 (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.conf | 8 | ||||
-rw-r--r-- | conf/__init__.py | 3 | ||||
-rw-r--r-- | conf/integration/01b_dpdk_regression_tests.conf | 14 | ||||
-rw-r--r-- | vnfs/qemu/qemu.py | 2 |
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): |