documentation: Installation prerequisites
[vswitchperf.git] / conf / 01_testcases.conf
index b30afc8..bd5ba9e 100755 (executable)
@@ -1,4 +1,4 @@
-# Copyright 2015-2016 Intel Corporation.
+# Copyright 2015-2017 Intel Corporation.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 #                                  # ip_port.
 # "Load": dictionary               # Optional. Configures background load
 #                                  # during testcase execution.
+#                                  # The tool used to generate load is
+#                                  # defined  by LOADGEN configuration.
+#                                  # Default setting of Dummy can be found in
+#                                  # 07_loadgen.conf.
 #   Description of "Load" dictionary keys, their meanings and available values:
 #
-#   "tool": "stress"               # One of the supported load generators.
 #   "load": 0-100                  # percentage of cores which should be
 #                                  # utilized by load generator
 #                                  # e.g. load = 70%, detected cpu cores = 14 =>
 #                                  # override any values defined by TEST_PARAMS option
 #                                  # stated in configuration files or values specified
 #                                  # on command line through --test-params parameter.
+#
+# "TestSteps": []                  # Definition of detailed test steps.
+#                                  # In case that this list is defined, then
+#                                  # vsperf will execute defined test steps
+#                                  # one by one. It can be used to configure
+#                                  # vswitch, insert flows and transmit traffic.
+#                                  # It is possible to refer to result of any
+#                                  # previous step through #STEP[i][j] macro.
+#                                  # Where i is a number of step (starts from 0)
+#                                  # and j is index of result returned by step i.
 # "Test Modifier": [FrameMod|Other],
 # "Dependency": [Test_Case_Name |None],
 
+#
+# VPP specific macros used in TC defintions
+#
+VPP_P2P =   [
+                ['vswitch', 'add_switch', 'int_br0'],           # STEP 0
+                ['vswitch', 'add_phy_port', 'int_br0'],         # STEP 1
+                ['vswitch', 'add_phy_port', 'int_br0'],         # STEP 2
+                ['vswitch', 'add_connection', 'int_br0', '#STEP[1][0]', '#STEP[2][0]', True],
+                ['vswitch', 'add_connection', 'int_br0', '#STEP[2][0]', '#STEP[1][0]', True],
+                ['trafficgen', 'send_traffic', {}],
+                ['vswitch', 'dump_connections', 'int_br0'],
+                ['vswitch', 'del_connection', 'int_br0', '#STEP[1][0]', '#STEP[2][0]', True],
+                ['vswitch', 'del_connection', 'int_br0', '#STEP[2][0]', '#STEP[1][0]', True],
+                ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'],
+                ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'],
+                ['vswitch', 'del_switch', 'int_br0'],
+            ]
+VPP_PVP =   [
+                ['vswitch', 'add_switch', 'int_br0'],           # STEP 0
+                ['vswitch', 'add_phy_port', 'int_br0'],         # STEP 1
+                ['vswitch', 'add_phy_port', 'int_br0'],         # STEP 2
+                ['vswitch', 'add_vport', 'int_br0'],            # STEP 3
+                ['vswitch', 'add_vport', 'int_br0'],            # STEP 4
+                ['vswitch', 'add_connection', 'int_br0', '#STEP[1][0]', '#STEP[3][0]', True],
+                ['vswitch', 'add_connection', 'int_br0', '#STEP[4][0]', '#STEP[2][0]', True],
+                ['vswitch', 'add_connection', 'int_br0', '#STEP[2][0]', '#STEP[4][0]', True],
+                ['vswitch', 'add_connection', 'int_br0', '#STEP[3][0]', '#STEP[1][0]', True],
+                ['vnf', 'start'],
+                ['trafficgen', 'send_traffic', {}],
+                ['vnf', 'stop'],
+                ['vswitch', 'dump_connections', 'int_br0'],
+                ['vswitch', 'del_connection', 'int_br0', '#STEP[1][0]', '#STEP[3][0]', True],
+                ['vswitch', 'del_connection', 'int_br0', '#STEP[4][0]', '#STEP[2][0]', True],
+                ['vswitch', 'del_connection', 'int_br0', '#STEP[2][0]', '#STEP[4][0]', True],
+                ['vswitch', 'del_connection', 'int_br0', '#STEP[3][0]', '#STEP[1][0]', True],
+                ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'],
+                ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'],
+                ['vswitch', 'del_port', 'int_br0', '#STEP[3][0]'],
+                ['vswitch', 'del_port', 'int_br0', '#STEP[4][0]'],
+                ['vswitch', 'del_switch', 'int_br0'],
+            ]
+VPP_PVVP =   [
+                ['vswitch', 'add_switch', 'int_br0'],           # STEP 0
+                ['vswitch', 'add_phy_port', 'int_br0'],         # STEP 1
+                ['vswitch', 'add_phy_port', 'int_br0'],         # STEP 2
+                ['vswitch', 'add_vport', 'int_br0'],            # STEP 3
+                ['vswitch', 'add_vport', 'int_br0'],            # STEP 4
+                ['vswitch', 'add_vport', 'int_br0'],            # STEP 5
+                ['vswitch', 'add_vport', 'int_br0'],            # STEP 6
+                ['vswitch', 'add_connection', 'int_br0', '#STEP[1][0]', '#STEP[3][0]', True],
+                ['vswitch', 'add_connection', 'int_br0', '#STEP[4][0]', '#STEP[5][0]', True],
+                ['vswitch', 'add_connection', 'int_br0', '#STEP[6][0]', '#STEP[2][0]', True],
+                ['vswitch', 'add_connection', 'int_br0', '#STEP[2][0]', '#STEP[6][0]', True],
+                ['vswitch', 'add_connection', 'int_br0', '#STEP[5][0]', '#STEP[4][0]', True],
+                ['vswitch', 'add_connection', 'int_br0', '#STEP[3][0]', '#STEP[1][0]', True],
+                ['vnf1', 'start'],
+                ['vnf2', 'start'],
+                ['trafficgen', 'send_traffic', {}],
+                ['vnf2', 'stop'],
+                ['vnf1', 'stop'],
+                ['vswitch', 'dump_connections', 'int_br0'],
+                ['vswitch', 'del_connection', 'int_br0', '#STEP[1][0]', '#STEP[3][0]', True],
+                ['vswitch', 'del_connection', 'int_br0', '#STEP[4][0]', '#STEP[5][0]', True],
+                ['vswitch', 'del_connection', 'int_br0', '#STEP[6][0]', '#STEP[2][0]', True],
+                ['vswitch', 'del_connection', 'int_br0', '#STEP[2][0]', '#STEP[6][0]', True],
+                ['vswitch', 'del_connection', 'int_br0', '#STEP[5][0]', '#STEP[4][0]', True],
+                ['vswitch', 'del_connection', 'int_br0', '#STEP[3][0]', '#STEP[1][0]', True],
+                ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'],
+                ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'],
+                ['vswitch', 'del_port', 'int_br0', '#STEP[3][0]'],
+                ['vswitch', 'del_port', 'int_br0', '#STEP[4][0]'],
+                ['vswitch', 'del_port', 'int_br0', '#STEP[5][0]'],
+                ['vswitch', 'del_port', 'int_br0', '#STEP[6][0]'],
+                ['vswitch', 'del_switch', 'int_br0'],
+            ]
+
+#
+# Generic performance TC definitions
+#
 PERFORMANCE_TESTS = [
     {
         "Name": "phy2phy_tput",
@@ -191,7 +283,7 @@ PERFORMANCE_TESTS = [
         "Parameters" : {
             "TRAFFIC" : {
                 "traffic_type" : "rfc2544_throughput",
-                "multistream" : "8000",
+                "multistream" : 8000,
             },
         },
     },
@@ -242,12 +334,12 @@ PERFORMANCE_TESTS = [
         "Deployment": "p2p",
         "Description": "LTD.CPU.RFC2544.0PacketLoss",
         "Load" : {
-            "tool" : "stress-ng",
             "load" : 100,
             "reserved" : 4,
             "pattern" : "c",
         },
         "Parameters" : {
+            "LOADGEN" : "StressNg",
             "TRAFFIC" : {
                 "traffic_type" : "rfc2544_throughput",
             },
@@ -258,15 +350,124 @@ PERFORMANCE_TESTS = [
         "Deployment": "p2p",
         "Description": "LTD.Memory.RFC2544.0PacketLoss",
         "Load" : {
-            "tool" : "stress-ng",
             "load" : 50,
             "pattern" : "m",
             "load_memory" : 80,
         },
+        "Parameters" : {
+            "LOADGEN" : "StressNg",
+            "TRAFFIC" : {
+                "traffic_type" : "rfc2544_throughput",
+            },
+        },
+    },
+    {
+        "Name": "phy2phy_tput_vpp",
+        "Deployment": "clean",
+        "Description": "VPP: LTD.Throughput.RFC2544.PacketLossRatio",
+        "vSwitch" : "VppDpdkVhost",
+        "Parameters" : {
+            "TRAFFIC" : {
+                "traffic_type" : "rfc2544_throughput",
+            },
+        },
+        "TestSteps": VPP_P2P,
+    },
+    {
+        "Name": "phy2phy_cont_vpp",
+        "Deployment": "clean",
+        "Description": "VPP: Phy2Phy Continuous Stream",
+        "vSwitch" : "VppDpdkVhost",
+        "Parameters" : {
+            "TRAFFIC" : {
+                "traffic_type" : "rfc2544_continuous",
+                "frame_rate" : 100,
+            },
+        },
+        "TestSteps": VPP_P2P,
+    },
+    {
+        "Name": "phy2phy_back2back_vpp",
+        "Deployment": "clean",
+        "Description": "VPP: LTD.Throughput.RFC2544.BackToBackFrames",
+        "vSwitch" : "VppDpdkVhost",
+        "Parameters" : {
+            "TRAFFIC" : {
+                "traffic_type" : "rfc2544_back2back",
+            },
+        },
+        "TestSteps": VPP_P2P,
+    },
+    {
+        "Name": "pvp_tput_vpp",
+        "Deployment": "clean",
+        "Description": "VPP: LTD.Throughput.RFC2544.PacketLossRatio",
+        "vSwitch" : "VppDpdkVhost",
+        "Parameters" : {
+            "TRAFFIC" : {
+                "traffic_type" : "rfc2544_throughput",
+            },
+        },
+        "TestSteps": VPP_PVP,
+    },
+    {
+        "Name": "pvp_cont_vpp",
+        "Deployment": "clean",
+        "Description": "VPP: PVP Continuous Stream",
+        "vSwitch" : "VppDpdkVhost",
+        "Parameters" : {
+            "TRAFFIC" : {
+                "traffic_type" : "rfc2544_continuous",
+            },
+        },
+        "TestSteps": VPP_PVP,
+    },
+    {
+        "Name": "pvp_back2back_vpp",
+        "Deployment": "clean",
+        "Description": "VPP: LTD.Throughput.RFC2544.BackToBackFrames",
+        "vSwitch" : "VppDpdkVhost",
+        "Parameters" : {
+            "TRAFFIC" : {
+                "traffic_type" : "rfc2544_back2back",
+            },
+        },
+        "TestSteps": VPP_PVP,
+    },
+    {
+        "Name": "pvvp_tput_vpp",
+        "Deployment": "clean",
+        "Description": "VPP: LTD.Throughput.RFC2544.PacketLossRatio",
+        "vSwitch" : "VppDpdkVhost",
         "Parameters" : {
             "TRAFFIC" : {
                 "traffic_type" : "rfc2544_throughput",
             },
         },
+        "TestSteps": VPP_PVVP,
+    },
+    {
+        "Name": "pvvp_cont_vpp",
+        "Deployment": "clean",
+        "Description": "VPP: PVP Continuous Stream",
+        "vSwitch" : "VppDpdkVhost",
+        "Parameters" : {
+            "TRAFFIC" : {
+                "traffic_type" : "rfc2544_continuous",
+            },
+        },
+        "TestSteps": VPP_PVVP,
+    },
+    {
+        "Name": "pvvp_back2back_vpp",
+        "Deployment": "clean",
+        "Description": "VPP: LTD.Throughput.RFC2544.BackToBackFrames",
+        "vSwitch" : "VppDpdkVhost",
+        "Parameters" : {
+            "TRAFFIC" : {
+                "traffic_type" : "rfc2544_back2back",
+            },
+        },
+        "TestSteps": VPP_PVVP,
     },
 ]