ovs: Change default bridge names
[vswitchperf.git] / conf / integration / 01_testcases.conf
index 647e39c..945b36f 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 2015-2017 Intel Corporation.
+# Copyright 2015-2018 Intel Corporation, Tieto and others.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# The 1st value of SUPPORTED_TUNNELING_PROTO is used as the default
-# tunneling protocol for OP2P tests.
-SUPPORTED_TUNNELING_PROTO = ['vxlan', 'gre', 'geneve']
-
 #
 # Generic test configuration options are described at conf/01_testcases.conf
 #
@@ -118,192 +114,6 @@ STEP_VSWITCH_PVVP_FLOWS_FINIT = [
     ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[3][1]'}],
 ] + STEP_VSWITCH_PVVP_FINIT
 
-STEP_VSWITCH_P4VP_INIT = STEP_VSWITCH_PVVP_INIT + [
-    ['vswitch', 'add_vport', 'int_br0'],            # STEP 7    vm3 ports
-    ['vswitch', 'add_vport', 'int_br0'],            # STEP 8
-    ['vswitch', 'add_vport', 'int_br0'],            # STEP 9    vm4 ports
-    ['vswitch', 'add_vport', 'int_br0'],            # STEP 10
-]
-
-STEP_VSWITCH_P4VP_FINIT = [
-    ['vswitch', 'del_port', 'int_br0', '#STEP[7][0]'],  # vm3 ports
-    ['vswitch', 'del_port', 'int_br0', '#STEP[8][0]'],
-    ['vswitch', 'del_port', 'int_br0', '#STEP[9][0]'],  # vm4 ports
-    ['vswitch', 'del_port', 'int_br0', '#STEP[10][0]'],
-] + STEP_VSWITCH_PVVP_FINIT
-
-STEP_VSWITCH_P4VP_FLOWS_INIT = STEP_VSWITCH_P4VP_INIT + [
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', \
-                'actions': ['output:#STEP[3][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[4][1]', \
-                'actions': ['output:#STEP[5][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[6][1]', \
-                'actions': ['output:#STEP[7][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[8][1]', \
-                'actions': ['output:#STEP[9][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[10][1]', \
-                'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[2][1]', \
-                'actions': ['output:#STEP[10][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[9][1]', \
-                'actions': ['output:#STEP[8][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[7][1]', \
-                'actions': ['output:#STEP[6][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[5][1]', \
-                'actions': ['output:#STEP[4][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[3][1]', \
-                'actions': ['output:#STEP[1][1]'], 'idle_timeout': '0'}],
-]
-
-STEP_VSWITCH_P4VP_FLOWS_FINIT = [
-    ['vswitch', 'dump_flows', 'int_br0'],
-    ['vswitch', 'del_flow', 'int_br0'],
-] + STEP_VSWITCH_P4VP_FINIT
-
-STEP_VSWITCH_2PHY_2VM_INIT = STEP_VSWITCH_PVVP_INIT
-
-STEP_VSWITCH_2PHY_2VM_FINIT = STEP_VSWITCH_PVVP_FINIT
-
-STEP_VSWITCH_2_PARALLEL_VM_FLOWS_INIT  = [
-            # Setup Flows to reply ICMPv6 and similar packets, so to
-            # avoid flooding the internal port with their re-transmissions
-            ['vswitch', 'add_flow', 'int_br0', \
-                {'priority': '1', 'dl_src': '00:00:00:00:00:01', \
-                'actions': ['output:#STEP[3][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', \
-                {'priority': '1', 'dl_src': '00:00:00:00:00:02', \
-                'actions': ['output:#STEP[4][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', \
-                {'priority': '1', 'dl_src': '00:00:00:00:00:03', \
-                'actions': ['output:#STEP[5][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', \
-                {'priority': '1', 'dl_src': '00:00:00:00:00:04', \
-                'actions': ['output:#STEP[6][1]'], 'idle_timeout': '0'}],
-            # Forward UDP packets depending on dest port
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', \
-                'dl_type': '0x0800', 'nw_proto': '17', 'udp_dst': '0', \
-                'actions': ['output:#STEP[3][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', \
-                'dl_type': '0x0800', 'nw_proto': '17', 'udp_dst': '1', \
-                'actions': ['output:#STEP[5][1]'], 'idle_timeout': '0'}],
-            # Send VM outputs to phy port #2
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[4][1]', \
-                'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[6][1]', \
-                'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
-]
-
-STEP_VSWITCH_2PHY_4VM_INIT = STEP_VSWITCH_2PHY_2VM_INIT + [
-    ['vswitch', 'add_vport', 'int_br0'],            # STEP 7    vm3 ports
-    ['vswitch', 'add_vport', 'int_br0'],            # STEP 8
-    ['vswitch', 'add_vport', 'int_br0'],            # STEP 9    vm4 ports
-    ['vswitch', 'add_vport', 'int_br0'],            # STEP 10
-]
-
-STEP_VSWITCH_2PHY_4VM_FINIT = [
-    ['vswitch', 'del_port', 'int_br0', '#STEP[7][0]'],  # vm3 ports
-    ['vswitch', 'del_port', 'int_br0', '#STEP[8][0]'],
-    ['vswitch', 'del_port', 'int_br0', '#STEP[9][0]'],  # vm4 ports
-    ['vswitch', 'del_port', 'int_br0', '#STEP[10][0]'],
-] + STEP_VSWITCH_2PHY_2VM_FINIT
-
-STEP_VSWITCH_FLOWS_FINIT = [
-    ['vswitch', 'dump_flows', 'int_br0'],
-    ['vswitch', 'del_flow', 'int_br0'],
-]
-
-STEP_VSWITCH_4_PARALLEL_VM_FLOWS_INIT = [
-            # Setup Flows to reply ICMPv6 and similar packets, so to
-            # avoid flooding the internal port with their re-transmissions
-            ['vswitch', 'add_flow', 'int_br0', \
-                {'priority': '1', 'dl_src': '00:00:00:00:00:01', \
-                'actions': ['output:#STEP[3][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', \
-                {'priority': '1', 'dl_src': '00:00:00:00:00:02', \
-                'actions': ['output:#STEP[4][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', \
-                {'priority': '1', 'dl_src': '00:00:00:00:00:03', \
-                'actions': ['output:#STEP[5][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', \
-                {'priority': '1', 'dl_src': '00:00:00:00:00:04', \
-                'actions': ['output:#STEP[6][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', \
-                {'priority': '1', 'dl_src': '00:00:00:00:00:05', \
-                'actions': ['output:#STEP[7][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', \
-                {'priority': '1', 'dl_src': '00:00:00:00:00:06', \
-                'actions': ['output:#STEP[8][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', \
-                {'priority': '1', 'dl_src': '00:00:00:00:00:07', \
-                'actions': ['output:#STEP[9][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', \
-                {'priority': '1', 'dl_src': '00:00:00:00:00:08', \
-                'actions': ['output:#STEP[10][1]'], 'idle_timeout': '0'}],
-            # Forward UDP packets depending on dest port
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', \
-                'dl_type': '0x0800', 'nw_proto': '17', 'udp_dst': '0', \
-                'actions': ['output:#STEP[3][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', \
-                'dl_type': '0x0800', 'nw_proto': '17', 'udp_dst': '1', \
-                'actions': ['output:#STEP[5][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', \
-                'dl_type': '0x0800', 'nw_proto': '17', 'udp_dst': '2', \
-                'actions': ['output:#STEP[7][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', \
-                'dl_type': '0x0800', 'nw_proto': '17', 'udp_dst': '3', \
-                'actions': ['output:#STEP[9][1]'], 'idle_timeout': '0'}],
-            # Send VM outputs to phy port #2
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[4][1]', \
-                'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[6][1]', \
-                'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[8][1]', \
-                'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[10][1]', \
-                'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
-]
-
-STEP_VSWITCH_2PHY_6VM_INIT = STEP_VSWITCH_2PHY_4VM_INIT + [
-            ['vswitch', 'add_vport', 'int_br0'],        # STEP 11   vm5    vhu8
-            ['vswitch', 'add_vport', 'int_br0'],        # STEP 12          vhu9
-            ['vswitch', 'add_vport', 'int_br0'],        # STEP 13   vm6    vhu10
-            ['vswitch', 'add_vport', 'int_br0'],        # STEP 14          vhu11
-]
-
-STEP_VSWITCH_6_PARALLEL_VM_FLOWS_INIT = STEP_VSWITCH_4_PARALLEL_VM_FLOWS_INIT + [
-            ['vswitch', 'add_flow', 'int_br0', \
-                {'priority': '1', 'dl_src': '00:00:00:00:00:09', \
-                'actions': ['output:#STEP[11][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', \
-                {'priority': '1', 'dl_src': '00:00:00:00:00:0a', \
-                'actions': ['output:#STEP[12][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', \
-                {'priority': '1', 'dl_src': '00:00:00:00:00:0b', \
-                'actions': ['output:#STEP[13][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', \
-                {'priority': '1', 'dl_src': '00:00:00:00:00:0c', \
-                'actions': ['output:#STEP[14][1]'], 'idle_timeout': '0'}],
-            # Forward UDP packets depending on dest port
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', \
-                'dl_type': '0x0800', 'nw_proto': '17', 'udp_dst': '4', \
-                'actions': ['output:#STEP[11][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', \
-                'dl_type': '0x0800', 'nw_proto': '17', 'udp_dst': '5', \
-                'actions': ['output:#STEP[13][1]'], 'idle_timeout': '0'}],
-            # Send VM outputs to phy port #2
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[12][1]', \
-                'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
-            ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[14][1]', \
-                'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
-]
-
-STEP_VSWITCH_2PHY_6VM_FINIT = [
-            ['vswitch', 'del_port', 'int_br0', '#STEP[11][0]'],  # vm5 ports
-            ['vswitch', 'del_port', 'int_br0', '#STEP[12][0]'],
-            ['vswitch', 'del_port', 'int_br0', '#STEP[13][0]'],  # vm6 ports
-            ['vswitch', 'del_port', 'int_br0', '#STEP[14][0]'],
-] + STEP_VSWITCH_2PHY_4VM_FINIT
-
 #
 # Definition of integration tests
 #
@@ -327,7 +137,6 @@ INTEGRATION_TESTS = [
     {
         "Name": "overlay_p2p_tput",
         "Deployment": "op2p",
-        "Tunnel Type": SUPPORTED_TUNNELING_PROTO[0],
         "Tunnel Operation": "encapsulation",
         "Description": "Overlay Encapsulation Throughput RFC2544 Test",
         "Parameters": {
@@ -341,7 +150,6 @@ INTEGRATION_TESTS = [
     {
         "Name": "overlay_p2p_cont",
         "Deployment": "op2p",
-        "Tunnel Type": SUPPORTED_TUNNELING_PROTO[0],
         "Tunnel Operation": "encapsulation",
         "Description": "Overlay Encapsulation RFC2544 Continuous Stream",
         "Parameters": {
@@ -355,7 +163,6 @@ INTEGRATION_TESTS = [
     {
         "Name": "overlay_p2p_decap_tput",
         "Deployment": "op2p",
-        "Tunnel Type": SUPPORTED_TUNNELING_PROTO[0],
         "Tunnel Operation": "decapsulation",
         "Description": "Overlay Decapsulation Throughput RFC2544 Test",
         "Parameters": {
@@ -369,7 +176,6 @@ INTEGRATION_TESTS = [
     {
         "Name": "overlay_p2p_decap_cont",
         "Deployment": "op2p",
-        "Tunnel Type": SUPPORTED_TUNNELING_PROTO[0],
         "Tunnel Operation": "decapsulation",
         "Description": "Overlay Decapsulation RFC2544 Continuous Stream",
         "Parameters": {
@@ -662,102 +468,46 @@ INTEGRATION_TESTS = [
                      ] +
                      STEP_VSWITCH_PVVP_FLOWS_FINIT
     },
-    {
-        "Name": "vswitch_p4vp",
-        "Description": "Just configure 4 chained vnfs",
-        "Deployment": "clean",
-        "TestSteps": STEP_VSWITCH_P4VP_FLOWS_INIT +
-        [
-            ['vnf1', 'start'],
-            ['vnf2', 'start'],
-            ['vnf3', 'start'],
-            ['vnf4', 'start'],
-            ['vnf1', 'stop'],
-            ['vnf2', 'stop'],
-            ['vnf3', 'stop'],
-            ['vnf4', 'stop'],
-        ] +
-        STEP_VSWITCH_P4VP_FLOWS_FINIT
-    },
     {
         "Name": "vswitch_p4vp_tput",
-        "Description": "4 chained vnfs, execute RFC2544 throughput test",
-        "Deployment": "clean",
-        "TestSteps": STEP_VSWITCH_P4VP_FLOWS_INIT +
-        [
-            ['vnf1', 'start'],
-            ['vnf2', 'start'],
-            ['vnf3', 'start'],
-            ['vnf4', 'start'],
-            ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_throughput', \
-                'bidir' : 'True'}],
-            ['vnf1', 'stop'],
-            ['vnf2', 'stop'],
-            ['vnf3', 'stop'],
-            ['vnf4', 'stop'],
-        ] +
-        STEP_VSWITCH_P4VP_FLOWS_FINIT
+        "Description": "4 chained vnfs, execute RFC2544 throughput test, deployment pvvp4",
+        "Deployment": "pvvp4",
+        "Parameters" : {
+            "TRAFFIC" : {
+                "traffic_type" : "rfc2544_throughput",
+            },
+        },
     },
     {
         "Name": "vswitch_p4vp_back2back",
-        "Description": "4 chained vnfs, execute RFC2544 back2back test",
-        "Deployment": "clean",
-        "TestSteps": STEP_VSWITCH_P4VP_FLOWS_INIT +
-        [
-            ['vnf1', 'start'],
-            ['vnf2', 'start'],
-            ['vnf3', 'start'],
-            ['vnf4', 'start'],
-            ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_back2back', \
-                'bidir' : 'True'}],
-            ['vnf1', 'stop'],
-            ['vnf2', 'stop'],
-            ['vnf3', 'stop'],
-            ['vnf4', 'stop'],
-        ] +
-        STEP_VSWITCH_P4VP_FLOWS_FINIT
+        "Description": "4 chained vnfs, execute RFC2544 back2back test, deployment pvvp4",
+        "Deployment": "pvvp4",
+        "Parameters" : {
+            "TRAFFIC" : {
+                "traffic_type" : "rfc2544_back2back",
+            },
+        },
     },
     {
         "Name": "vswitch_p4vp_cont",
-        "Description": "4 chained vnfs, execute RFC2544 continuous stream test",
-        "Deployment": "clean",
-        "TestSteps": STEP_VSWITCH_P4VP_FLOWS_INIT +
-        [
-            ['vnf1', 'start'],
-            ['vnf2', 'start'],
-            ['vnf3', 'start'],
-            ['vnf4', 'start'],
-            ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous', \
-                'bidir' : 'True'}],
-            ['vnf1', 'stop'],
-            ['vnf2', 'stop'],
-            ['vnf3', 'stop'],
-            ['vnf4', 'stop'],
-        ] +
-        STEP_VSWITCH_P4VP_FLOWS_FINIT
+        "Description": "4 chained vnfs, execute RFC2544 continuous stream test, deployment pvvp4",
+        "Deployment": "pvvp4",
+        "Parameters" : {
+            "TRAFFIC" : {
+                "traffic_type" : "rfc2544_continuous",
+            },
+        },
     },
     {
         "Name": "vswitch_p4vp_all",
-        "Description": "4 chained vnfs, execute RFC2544 throughput test",
-        "Deployment": "clean",
-        "TestSteps": STEP_VSWITCH_P4VP_FLOWS_INIT +
+        "Description": "4 chained vnfs, execute RFC2544 throughput tests, deployment pvvp4",
+        "Deployment": "pvvp4",
+        "TestSteps":
         [
-            ['vnf1', 'start'],
-            ['vnf2', 'start'],
-            ['vnf3', 'start'],
-            ['vnf4', 'start'],
-            ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_throughput', \
-                'bidir' : 'True'}],
-            ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_back2back', \
-                'bidir' : 'True'}],
-            ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous', \
-                'bidir' : 'True'}],
-            ['vnf1', 'stop'],
-            ['vnf2', 'stop'],
-            ['vnf3', 'stop'],
-            ['vnf4', 'stop'],
-        ] +
-        STEP_VSWITCH_P4VP_FLOWS_FINIT
+            ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_throughput'}],
+            ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_back2back'}],
+            ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous'}],
+        ]
     },
     {
       # Topology: 2 Parallel PVP connections
@@ -766,25 +516,13 @@ INTEGRATION_TESTS = [
       # or add "Parameters" option to the test definition:
       #     "Parameters" : {'GUEST_LOOPBACK' : ['linux_bridge'],},
         "Name": "2pvp_udp_dest_flows",
-        "Description": "RFC2544 Continuous TC with 2 Parallel VMs, flows on UDP Dest Port",
-        "Deployment": "clean",
+        "Description": "RFC2544 Continuous TC with 2 Parallel VMs, flows on UDP Dest Port, deployment pvpv2",
+        "Deployment": "pvpv2",
         "Parameters" : {
             "TRAFFIC" : {
-                "multistream" : 2,
-                "stream_type" : "L4",
+                "traffic_type" : "rfc2544_continuous",
             },
         },
-        "TestSteps": STEP_VSWITCH_2PHY_2VM_INIT +
-            STEP_VSWITCH_2_PARALLEL_VM_FLOWS_INIT + [
-            # Start 2 VMs
-            ['vnf1', 'start'],
-            ['vnf2', 'start'],
-            ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous', 'bidir' : 'False'}],
-            ['vnf1', 'stop'],
-            ['vnf2', 'stop'],
-            # Clean up
-        ] + STEP_VSWITCH_FLOWS_FINIT +
-            STEP_VSWITCH_2PHY_2VM_FINIT
     },
     {
       # Topology: 4 Parallel PVP connections
@@ -793,29 +531,13 @@ INTEGRATION_TESTS = [
       # or add "Parameters" option to the test definition:
       #     "Parameters" : {'GUEST_LOOPBACK' : ['linux_bridge'],},
         "Name": "4pvp_udp_dest_flows",
-        "Description": "RFC2544 Continuous TC with 4 Parallel VMs, flows on UDP Dest Port",
-        "Deployment": "clean",
+        "Description": "RFC2544 Continuous TC with 4 Parallel VMs, flows on UDP Dest Port, deployment pvpv4",
+        "Deployment": "pvpv4",
         "Parameters" : {
             "TRAFFIC" : {
-                "multistream" : 4,
-                "stream_type" : "L4",
+                "traffic_type" : "rfc2544_continuous",
             },
         },
-        "TestSteps": STEP_VSWITCH_2PHY_4VM_INIT +
-            STEP_VSWITCH_4_PARALLEL_VM_FLOWS_INIT + [
-            # Start 4 VMs
-            ['vnf1', 'start'],
-            ['vnf2', 'start'],
-            ['vnf3', 'start'],
-            ['vnf4', 'start'],
-            ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous', 'bidir' : 'False'}],
-            ['vnf1', 'stop'],
-            ['vnf2', 'stop'],
-            ['vnf3', 'stop'],
-            ['vnf4', 'stop'],
-            # Clean up
-        ] + STEP_VSWITCH_FLOWS_FINIT +
-            STEP_VSWITCH_2PHY_4VM_FINIT
     },
     {
       # Topology: 6 Parallel PVP connections
@@ -824,32 +546,13 @@ INTEGRATION_TESTS = [
       # or add "Parameters" option to the test definition:
       #     "Parameters" : {'GUEST_LOOPBACK' : ['linux_bridge'],},
         "Name": "6pvp_udp_dest_flows",
-        "Description": "RFC2544 Continuous TC with 6 Parallel VMs, flows on UDP Dest Port",
-        "Deployment": "clean",
+        "Description": "RFC2544 Continuous TC with 6 Parallel VMs, flows on UDP Dest Port, deployment pvpv6",
+        "Deployment": "pvpv6",
         "Parameters" : {
             "TRAFFIC" : {
-                "multistream" : 6,
-                "stream_type" : "L4",
+                "traffic_type" : "rfc2544_continuous",
             },
         },
-        "TestSteps": STEP_VSWITCH_2PHY_6VM_INIT +
-            STEP_VSWITCH_6_PARALLEL_VM_FLOWS_INIT + [
-            # Start VMs
-            ['vnf1', 'start'],
-            ['vnf2', 'start'],
-            ['vnf3', 'start'],
-            ['vnf4', 'start'],
-            ['vnf5', 'start'],
-            ['vnf6', 'start'],
-            ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous', 'bidir' : 'False'}],
-            ['vnf1', 'stop'],
-            ['vnf2', 'stop'],
-            ['vnf3', 'stop'],
-            ['vnf4', 'stop'],
-            ['vnf5', 'stop'],
-            ['vnf6', 'stop'],
-        ] + STEP_VSWITCH_FLOWS_FINIT +
-        STEP_VSWITCH_2PHY_6VM_FINIT
     },
     {
         # Testcase for verification of vHost User NUMA awareness feature
@@ -969,10 +672,21 @@ INTEGRATION_TESTS = [
     #
     # VPP tests used by VERIFY and MERGE jobs by OPNFV Jenkins
     #
+    {
+        "Name": "vswitch_version_vpp",
+        "Deployment": "clean",
+        "Description": "VPP: vSwitch - determine VPP version and fail if it is not possible.",
+        "vSwitch" : "VppDpdkVhost",
+        "TestSteps": [
+                        ['vswitch', 'run_vppctl', ['show', 'version', 'verbose'], '|Version:\s+(v\d+\.\d+)'],
+                        ['tools', 'assert', 'len(#STEP[-1][0])'],
+                     ]
+    },
     {
         "Name": "vswitch_vports_add_del_connection_vpp",
         "Deployment": "clean",
         "Description": "VPP: vSwitch - configure switch with vports, add and delete connection",
+        "vSwitch" : "VppDpdkVhost",
         "TestSteps": [
                         ['vswitch', 'add_switch', 'int_br0'],
                         ['vswitch', 'add_vport', 'int_br0'],
@@ -989,6 +703,166 @@ INTEGRATION_TESTS = [
     # END of VPP tests used by VERIFY and MERGE jobs by OPNFV Jenkins
     #
 
+    #
+    # Examples of functional testcases with traffic capture validation
+    #
+    # Capture Example 1 - Traffic capture inside VM (PVP scenario)
+    # This TestCase will modify VLAN ID set by the traffic generator to the new value.
+    # Correct VLAN ID settings is verified by inspection of captured frames.
+    {
+        "Name": "capture_pvp_modify_vid",
+        "Deployment": "pvp",
+        "Description": "Test and verify VLAN ID modification by Open vSwitch",
+        "Parameters" : {
+            "VSWITCH" : "OvsDpdkVhost", # works also for Vanilla OVS
+            "TRAFFICGEN_DURATION" : 5,
+            "TRAFFIC" : {
+                "traffic_type" : "rfc2544_continuous",
+                "frame_rate" : 100,
+                'vlan': {
+                    'enabled': True,
+                    'id': 8,
+                    'priority': 1,
+                    'cfi': 0,
+                },
+            },
+            "GUEST_LOOPBACK" : ['linux_bridge'],
+        },
+        "TestSteps": [
+            # replace original flows with vlan ID modification
+            ['!vswitch', 'add_flow', '$VSWITCH_BRIDGE_NAME', {'in_port': '1', 'actions': ['mod_vlan_vid:4','output:3']}],
+            ['!vswitch', 'add_flow', '$VSWITCH_BRIDGE_NAME', {'in_port': '2', 'actions': ['mod_vlan_vid:4','output:4']}],
+            ['vswitch', 'dump_flows', '$VSWITCH_BRIDGE_NAME'],
+            # verify that received frames have modified vlan ID
+            ['VNF0', 'execute_and_wait', 'tcpdump -i eth0 -c 5 -w dump.pcap vlan 4 &'],
+            ['trafficgen', 'send_traffic',{}],
+            ['!VNF0', 'execute_and_wait', 'tcpdump -qer dump.pcap vlan 4 2>/dev/null | wc -l','|^(\d+)$'],
+            ['tools', 'assert', '#STEP[-1][0] == 5'],
+        ],
+    },
+]
+# Capture Example 2 - Setup with 2 NICs, where traffic is captured after it is
+# processed by NIC under the test (2nd NIC). See documentation for further details.
+# This TestCase will strip VLAN headers from traffic sent by the traffic generator.
+# The removal of VLAN headers is verified by inspection of captured frames.
+#
+# NOTE: This setup expects a DUT with two NICs with two ports each. First NIC is
+# connected to the traffic generator (standard VSPERF setup). Ports of a second NIC
+# are interconnected by a patch cable. PCI addresses of all four ports have to be
+# properly configured in the WHITELIST_NICS parameter.
+_CAPTURE_P2P2P_OVS_ACTION = ''
+_CAPTURE_P2P2P_SETUP = [
+        # restore original NICS configuration, so we can refer to NICS elements
+        ['settings', 'resetValue', 'WHITELIST_NICS'],
+        ['settings', 'resetValue', 'NICS'],
+        # create and configure two bridges to forward traffic through NIC under
+        # the test and back to the traffic generator
+        # 1st bridge:
+        ['vswitch', 'add_switch', '$VSWITCH_BRIDGE_NAME'],
+        ['tools', 'exec_shell', 'sudo ip addr flush dev $NICS[0]["device"]'],
+        ['tools', 'exec_shell', 'sudo ip link set dev $NICS[0]["device"] up'],
+        ['tools', 'exec_shell', '$TOOLS["ovs-vsctl"] add-port $VSWITCH_BRIDGE_NAME $NICS[0]["device"]'],
+        ['tools', 'exec_shell', 'sudo $TOOLS["bind-tool"] --bind igb_uio $NICS[3]["pci"]'],
+        ['tools', 'exec_shell', '$TOOLS["ovs-vsctl"] add-port $VSWITCH_BRIDGE_NAME dpdk0 -- '
+                                'set Interface dpdk0 type=dpdk options:dpdk-devargs=$NICS[3]["pci"]'],
+        ['tools', 'exec_shell', '$TOOLS["ovs-ofctl"] add-flow $VSWITCH_BRIDGE_NAME in_port=1,action='
+                                '$_CAPTURE_P2P2P_OVS_ACTION,output:2'],
+        # 2nd bridge:
+        ['vswitch', 'add_switch', 'br1'],
+        ['tools', 'exec_shell', 'sudo ip addr flush dev $NICS[2]["device"]'],
+        ['tools', 'exec_shell', 'sudo ip link set dev $NICS[2]["device"] up'],
+        ['tools', 'exec_shell', '$TOOLS["ovs-vsctl"] add-port br1 $NICS[2]["device"]'],
+        ['tools', 'exec_shell', 'sudo ip addr flush dev $NICS[1]["device"]'],
+        ['tools', 'exec_shell', 'sudo ip link set dev $NICS[1]["device"] up'],
+        ['tools', 'exec_shell', '$TOOLS["ovs-vsctl"] add-port br1 $NICS[1]["device"]'],
+        ['vswitch', 'add_flow', 'br1', {'in_port': '1', 'actions': ['output:2']}],
+        # log flow details
+        ['vswitch', 'dump_flows', '$VSWITCH_BRIDGE_NAME'],
+        ['vswitch', 'dump_flows', 'br1'],
+]
+INTEGRATION_TESTS += [
+    {
+        "Name": "capture_p2p2p_strip_vlan_ovs",
+        "Deployment": "clean",
+        "Description": "P2P Continuous Stream",
+        "Parameters" : {
+            "_CAPTURE_P2P2P_OVS_ACTION" : 'strip_vlan',
+            "TRAFFIC" : {
+                "bidir" : "False",
+                "traffic_type" : "rfc2544_continuous",
+                "frame_rate" : 100,
+                'l2': {
+                    'srcmac': "ca:fe:00:00:00:00",
+                    'dstmac': "00:00:00:00:00:01"
+                },
+                'vlan': {
+                    'enabled': True,
+                    'id': 8,
+                    'priority': 1,
+                    'cfi': 0,
+                },
+            },
+            # suppress DPDK configuration, so physical interfaces are not bound to DPDK driver
+            'WHITELIST_NICS' : [],
+            'NICS' : [],
+        },
+        "TestSteps": _CAPTURE_P2P2P_SETUP + [
+            # capture traffic after processing by NIC under the test (after possible egress HW offloading)
+            ['tools', 'exec_shell_background', 'tcpdump -i $NICS[2]["device"] -c 5 -w capture.pcap '
+                                               'ether src $TRAFFIC["l2"]["srcmac"]'],
+            ['trafficgen', 'send_traffic', {}],
+            ['vswitch', 'dump_flows', '$VSWITCH_BRIDGE_NAME'],
+            ['vswitch', 'dump_flows', 'br1'],
+            # there must be 5 captured frames...
+            ['tools', 'exec_shell', 'tcpdump -r capture.pcap | wc -l', '|^(\d+)$'],
+            ['tools', 'assert', '#STEP[-1][0] == 5'],
+            # ...but no vlan headers
+            ['tools', 'exec_shell', 'tcpdump -r capture.pcap vlan | wc -l', '|^(\d+)$'],
+            ['tools', 'assert', '#STEP[-1][0] == 0'],
+        ],
+    },
+    # Capture Example 3 - Traffic capture by traffic generator.
+    # This TestCase uses OVS flow to add VLAN tag with given ID into every
+    # frame send by traffic generator. Correct frame modificaiton is verified by
+    # inspection of packet capture received by T-Rex.
+    {
+        "Name": "capture_p2p_add_vlan_ovs_trex",
+        "Deployment": "clean",
+        "Description": "OVS: Test VLAN tag modification and verify it by traffic capture",
+        "vSwitch" : "OvsDpdkVhost", # works also for Vanilla OVS
+        "Parameters" : {
+            "TRAFFICGEN" : "Trex",
+            "TRAFFICGEN_TREX_LEARNING_MODE" : True,
+            "TRAFFIC" : {
+                "traffic_type" : "burst",
+                "frame_rate" : 100,
+                "burst_size" : 5,
+                # enable capture of five RX frames
+                'capture': {
+                    'enabled': True,
+                    'tx_ports' : [],
+                    'rx_ports' : [1],
+                    'count' : 5,
+                },
+            },
+        },
+        "TestSteps" : STEP_VSWITCH_P2P_INIT + [
+            # replace standard L2 flows by flows, which will add VLAN tag with ID 3
+            ['!vswitch', 'add_flow', 'int_br0', {'in_port': '1', 'actions': ['mod_vlan_vid:3','output:2']}],
+            ['!vswitch', 'add_flow', 'int_br0', {'in_port': '2', 'actions': ['mod_vlan_vid:3','output:1']}],
+            ['vswitch', 'dump_flows', 'int_br0'],
+            ['trafficgen', 'send_traffic', {}],
+            ['trafficgen', 'get_results'],
+            # verify that captured frames have vlan tag with ID 3
+            ['tools', 'exec_shell', 'tcpdump -qer $RESULTS_PATH/#STEP[-1][0]["capture_rx"] vlan 3 '
+                                    '2>/dev/null | wc -l', '|^(\d+)$'],
+            # number of received frames with expected VLAN id must match the number of captured frames
+            ['tools', 'assert', '#STEP[-1][0] == 5'],
+        ] + STEP_VSWITCH_P2P_FINIT,
+    },
+    #
+    # End of examples of functional testcases with traffic capture validation
+    #
 ]
 
 # Example of TC definition with exact vSwitch, VNF and TRAFFICGEN values.