From f463c563912abb806fe0d2fe85a4cf6825f416cc Mon Sep 17 00:00:00 2001 From: Dino Simeon Madarang Date: Mon, 19 Oct 2015 14:55:06 +0100 Subject: Add OVS tunnel encapsulation performance test Measure OVS DPDK and native VXLAN/GRE/GENEVE encapsulation performance. This patch creates a new deployment scenario, Overlay_P2P. The DUT is configured as a TEP (Tunnel Endpoint) which performs encapsulation of frames and sends traffic to the 2nd traffic generator port. The traffic generator in this case receives an encapsulated frame. No decapsulation is performed in this testcase. Introduce a vsperf param, --run-integration, to filter tests to integration tests. When running integration tests, variables defined in the directory conf/integration/*conf as well as the conf/*.conf are available. This test case requires DPDK 2.1.0 and OVS master - 6bb4a18 or newer. Change-Id: Ide2f418909d647119388df9b30d0d0a3656b4e53 JIRA: VSPERF-180 Signed-off-by: Dino Simeon Madarang Reviewed-by: Maryam Tahhan Reviewed-by: Al Morton --- testcases/testcase.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'testcases') diff --git a/testcases/testcase.py b/testcases/testcase.py index d470d951..945b8537 100644 --- a/testcases/testcase.py +++ b/testcases/testcase.py @@ -28,8 +28,8 @@ from core.loader import Loader from tools import tasks from tools import hugepages from tools.report import report -from conf import settings as S from tools.pkt_gen.trafficgen.trafficgenhelper import TRAFFIC_DEFAULTS +from conf import settings as S from conf import get_test_param class TestCase(object): @@ -64,6 +64,11 @@ class TestCase(object): self.deployment = cfg['Deployment'] self._frame_mod = cfg.get('Frame Modification', None) + tunnel_type = None + if 'Tunnel Type' in cfg: + tunnel_type = cfg['Tunnel Type'] + tunnel_type = get_test_param('tunnel_type', tunnel_type) + # identify guest loopback method, so it can be added into reports self.guest_loopback = [] if self.deployment in ['pvp', 'pvvp']: @@ -102,6 +107,7 @@ class TestCase(object): self._traffic.update({'traffic_type': traffic_type, 'flow_type': cfg.get('Flow Type', 'port'), 'bidir': bidirectional, + 'tunnel_type': tunnel_type, 'multistream': int(multistream), 'stream_type': stream_type, 'pre_installed_flows' : pre_installed_flows, @@ -130,6 +136,17 @@ class TestCase(object): # copy sources of l2 forwarding tools into VM shared dir if needed self._copy_fwd_tools_for_guest() + if self.deployment == "op2p": + self._traffic['l2'].update({'srcmac': + S.getValue('TRAFFICGEN_PORT1_MAC'), + 'dstmac': + S.getValue('TRAFFICGEN_PORT2_MAC')}) + + self._traffic['l3'].update({'srcip': + S.getValue('TRAFFICGEN_PORT1_IP'), + 'dstip': + S.getValue('TRAFFICGEN_PORT2_IP')}) + self._logger.debug("Controllers:") loader = Loader() traffic_ctl = component_factory.create_traffic( -- cgit 1.2.3-korg