From 89e23da8e473387b2e6cb37a2b882d2d3c68655c Mon Sep 17 00:00:00 2001 From: Martin Klozik Date: Fri, 25 Sep 2015 18:00:17 +0100 Subject: Enable PVVP deployment for DPDK Vhost User and Vhost Cuse Generic PVVP deployment support has been added. Two new testcase scenarios for throughput and back2back tests with PVVP deployment were added. Original implementation of PVP has been refactored Following files were affected: modified: conf/01_testcases.conf modified: conf/02_vswitch.conf modified: conf/04_vnf.conf modified: core/__init__.py modified: core/component_factory.py modified: core/loader/loader_servant.py modified: core/vnf_controller.py deleted: core/vnf_controller_p2p.py deleted: core/vnf_controller_pvp.py modified: core/vswitch_controller_p2p.py modified: core/vswitch_controller_pvp.py new file: core/vswitch_controller_pvvp.py modified: docs/to-be-reorganized/NEWS.rst modified: docs/to-be-reorganized/quickstart.rst modified: src/dpdk/dpdk.py modified: src/ovs/ofctl.py modified: testcases/testcase.py modified: tools/tasks.py new file: vnfs/qemu/qemu.py new file: vnfs/qemu/qemu_dpdk.py modified: vnfs/qemu/qemu_dpdk_vhost_cuse.py modified: vnfs/qemu/qemu_dpdk_vhost_user.py modified: vnfs/vnf/vnf.py modified: vswitches/ovs_dpdk_vhost.py Change-Id: Ib6869a29337a184cb58c57fd96bba1183aba00ab JIRA: VSPERF-68, VSPERF-69 Signed-off-by: Martin Klozik (martinx.klozik@intel.com) Reviewed-by: Maryam Tahhan Reviewed-by: Brian Castelli --- testcases/testcase.py | 46 ++++++++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 20 deletions(-) (limited to 'testcases') diff --git a/testcases/testcase.py b/testcases/testcase.py index 6d37ce52..e15572d8 100644 --- a/testcases/testcase.py +++ b/testcases/testcase.py @@ -23,6 +23,7 @@ from core.results.results_constants import ResultsConstants import core.component_factory as component_factory from core.loader import Loader from tools.report import report +from conf import settings class TestCase(object): """TestCase base class @@ -96,62 +97,67 @@ class TestCase(object): # physical ports are ports 1 & 2. The actual numbers # need to be retrived from the vSwitch and the metadata value # updated accordingly. + bridge = settings.getValue('VSWITCH_BRIDGE_NAME') if self._frame_mod == "vlan": # 0x8100 => VLAN ethertype self._logger.debug(" **** VLAN ***** ") flow = {'table':'2', 'priority':'1000', 'metadata':'2', 'actions': ['push_vlan:0x8100', 'goto_table:3']} - vswitch.add_flow('br0', flow) + vswitch.add_flow(bridge, flow) flow = {'table':'2', 'priority':'1000', 'metadata':'1', 'actions': ['push_vlan:0x8100', 'goto_table:3']} - vswitch.add_flow('br0', flow) + vswitch.add_flow(bridge, flow) elif self._frame_mod == "mpls": # 0x8847 => MPLS unicast ethertype self._logger.debug(" **** MPLS ***** ") flow = {'table':'2', 'priority':'1000', 'metadata':'2', 'actions': ['push_mpls:0x8847', 'goto_table:3']} - vswitch.add_flow('br0', flow) + vswitch.add_flow(bridge, flow) flow = {'table':'2', 'priority':'1000', 'metadata':'1', 'actions': ['push_mpls:0x8847', 'goto_table:3']} - vswitch.add_flow('br0', flow) + vswitch.add_flow(bridge, flow) elif self._frame_mod == "mac": flow = {'table':'2', 'priority':'1000', 'metadata':'2', - 'actions': ['mod_dl_src:22:22:22:22:22:22', 'goto_table:3']} - vswitch.add_flow('br0', flow) + 'actions': ['mod_dl_src:22:22:22:22:22:22', + 'goto_table:3']} + vswitch.add_flow(bridge, flow) flow = {'table':'2', 'priority':'1000', 'metadata':'1', - 'actions': ['mod_dl_src:11:11:11:11:11:11', 'goto_table:3']} - vswitch.add_flow('br0', flow) + 'actions': ['mod_dl_src:11:11:11:11:11:11', + 'goto_table:3']} + vswitch.add_flow(bridge, flow) elif self._frame_mod == "dscp": # DSCP 184d == 0x4E<<2 => 'Expedited Forwarding' flow = {'table':'2', 'priority':'1000', 'metadata':'2', 'dl_type':'0x0800', 'actions': ['mod_nw_tos:184', 'goto_table:3']} - vswitch.add_flow('br0', flow) + vswitch.add_flow(bridge, flow) flow = {'table':'2', 'priority':'1000', 'metadata':'1', 'dl_type':'0x0800', 'actions': ['mod_nw_tos:184', 'goto_table:3']} - vswitch.add_flow('br0', flow) + vswitch.add_flow(bridge, flow) elif self._frame_mod == "ttl": # 251 and 241 are the highest prime numbers < 255 flow = {'table':'2', 'priority':'1000', 'metadata':'2', 'dl_type':'0x0800', 'actions': ['mod_nw_ttl:251', 'goto_table:3']} - vswitch.add_flow('br0', flow) + vswitch.add_flow(bridge, flow) flow = {'table':'2', 'priority':'1000', 'metadata':'1', 'dl_type':'0x0800', 'actions': ['mod_nw_ttl:241', 'goto_table:3']} - vswitch.add_flow('br0', flow) + vswitch.add_flow(bridge, flow) elif self._frame_mod == "ip_addr": flow = {'table':'2', 'priority':'1000', 'metadata':'2', 'dl_type':'0x0800', 'actions': ['mod_nw_src:10.10.10.10', - 'mod_nw_dst:20.20.20.20', 'goto_table:3']} - vswitch.add_flow('br0', flow) + 'mod_nw_dst:20.20.20.20', + 'goto_table:3']} + vswitch.add_flow(bridge, flow) flow = {'table':'2', 'priority':'1000', 'metadata':'1', 'dl_type':'0x0800', 'actions': ['mod_nw_src:20.20.20.20', - 'mod_nw_dst:10.10.10.10', 'goto_table:3']} - vswitch.add_flow('br0', flow) + 'mod_nw_dst:10.10.10.10', + 'goto_table:3']} + vswitch.add_flow(bridge, flow) elif self._frame_mod == "ip_port": # TODO BOM 15-08-27 The traffic generated is assumed # to be UDP (nw_proto 17d) which is the default case but @@ -159,13 +165,13 @@ class TestCase(object): flow = {'table':'2', 'priority':'1000', 'metadata':'2', 'dl_type':'0x0800', 'nw_proto':'17', 'actions': ['mod_tp_src:44444', - 'mod_tp_dst:44444', 'goto_table:3']} - vswitch.add_flow('br0', flow) + 'mod_tp_dst:44444', 'goto_table:3']} + vswitch.add_flow(bridge, flow) flow = {'table':'2', 'priority':'1000', 'metadata':'1', 'dl_type':'0x0800', 'nw_proto':'17', 'actions': ['mod_tp_src:44444', - 'mod_tp_dst:44444', 'goto_table:3']} - vswitch.add_flow('br0', flow) + 'mod_tp_dst:44444', 'goto_table:3']} + vswitch.add_flow(bridge, flow) else: pass -- cgit 1.2.3-korg