Stateful - add short flow test with high active flow 8-4Mflows 65/5265/1
authorHanoh Haim <[email protected]>
Sun, 22 Jan 2017 14:05:19 +0000 (16:05 +0200)
committerHanoh Haim <[email protected]>
Sun, 22 Jan 2017 14:05:19 +0000 (16:05 +0200)
Signed-off-by: Hanoh Haim <[email protected]>
scripts/automation/regression/setups/kiwi02/benchmark.yaml
scripts/automation/regression/setups/trex07/benchmark.yaml
scripts/automation/regression/setups/trex08/benchmark.yaml
scripts/automation/regression/stateful_tests/trex_imix_test.py

index 5337b87..1eefcca 100644 (file)
@@ -4,6 +4,24 @@
 
 #### common templates ###
 
+test_short_flow:
+    multiplier          : 20000
+    cores               : 4
+    bw_per_core         : 1000
+
+test_short_flow_high_active:
+    multiplier          : 20000
+    cores               : 4
+    bw_per_core         : 1000
+    active_flows        : 4000000
+
+test_short_flow_high_active2:
+    multiplier          : 15000
+    cores               : 4
+    bw_per_core         : 1000
+    active_flows        : 4000000
+
+
 stat_route_dict: &stat_route_dict
     clients_start           : 16.0.0.1
     servers_start           : 48.0.0.1
index c0ec12b..7abc2e4 100644 (file)
@@ -4,6 +4,24 @@
 
 #### common templates ###
 
+test_short_flow:
+    multiplier          : 25000
+    cores               : 7
+    bw_per_core         : 1000
+
+test_short_flow_high_active:
+    multiplier          : 20000
+    cores               : 7
+    bw_per_core         : 1000
+    active_flows        : 4000000
+
+test_short_flow_high_active2:
+    multiplier          : 10000
+    cores               : 7
+    bw_per_core         : 1000
+    active_flows        : 4000000
+
+
 test_jumbo:
     multiplier          : 120
     cores               : 4
index b33fc45..f409edb 100644 (file)
@@ -4,6 +4,25 @@
 
 ### stateful ###
 
+test_short_flow:
+    multiplier          : 50000
+    cores               : 7
+    bw_per_core         : 1000
+
+test_short_flow_high_active:
+    multiplier          : 40000
+    cores               : 7
+    bw_per_core         : 1000
+    active_flows        : 4000000
+
+test_short_flow_high_active2:
+    multiplier          : 30000
+    cores               : 7
+    bw_per_core         : 1000
+    active_flows        : 4000000
+    
+
+
 test_jumbo:
     multiplier          : 150
     cores               : 2
index e1a8eb0..5f52fab 100755 (executable)
@@ -18,6 +18,99 @@ class CTRexIMIX_Test(CTRexGeneral_Test):
         # self.router.clear_counters()
         pass
 
+    def test_short_flow(self):
+        """ short UDP flow with 64B packets, this test with small number of active flows """
+        # test initializtion
+        if not self.is_loopback:
+            self.router.configure_basic_interfaces()
+            self.router.config_pbr(mode = "config")
+
+        mult  = self.get_benchmark_param('multiplier')
+        core  = self.get_benchmark_param('cores')
+
+        ret = self.trex.start_trex(
+            c = core,
+            m = mult,
+            p  = True,
+            nc = True,
+            d = 30,   
+            f = 'cap2/cur_flow.yaml',
+            l = 1000)
+
+        trex_res = self.trex.sample_to_run_finish()
+
+        # trex_res is a CTRexResult instance- and contains the summary of the test results
+        # you may see all the results keys by simply calling here for 'print trex_res.result'
+        print("\nLATEST RESULT OBJECT:")
+        print(trex_res)
+
+        self.check_general_scenario_results(trex_res)
+        self.check_CPU_benchmark(trex_res)
+
+    def test_short_flow_high_active(self):
+        """ short UDP flow with 64B packets, this test with 8M  active flows """
+        # test initializtion
+        if not self.is_loopback:
+            self.router.configure_basic_interfaces()
+            self.router.config_pbr(mode = "config")
+
+        mult  = self.get_benchmark_param('multiplier')
+        core  = self.get_benchmark_param('cores')
+        active_flows =self.get_benchmark_param('active_flows') 
+
+
+        ret = self.trex.start_trex(
+            c = core,
+            m = mult,
+            p  = True,
+            nc = True,
+            d = 60,   
+            active_flows = active_flows,
+            f = 'cap2/cur_flow.yaml',
+            l = 1000)
+
+        trex_res = self.trex.sample_to_run_finish()
+
+        # trex_res is a CTRexResult instance- and contains the summary of the test results
+        # you may see all the results keys by simply calling here for 'print trex_res.result'
+        print("\nLATEST RESULT OBJECT:")
+        print(trex_res)
+
+        self.check_general_scenario_results(trex_res)
+        self.check_CPU_benchmark(trex_res)
+
+    def test_short_flow_high_active2(self):
+        """ short UDP flow with 64B packets, this test with 8M  active flows """
+        # test initializtion
+        if not self.is_loopback:
+            self.router.configure_basic_interfaces()
+            self.router.config_pbr(mode = "config")
+
+        mult  = self.get_benchmark_param('multiplier')
+        core  = self.get_benchmark_param('cores')
+        active_flows =self.get_benchmark_param('active_flows') 
+
+
+        ret = self.trex.start_trex(
+            c = core,
+            m = mult,
+            p  = True,
+            nc = True,
+            d = 60,   
+            active_flows = active_flows,
+            f = 'cap2/cur_flow_single.yaml',
+            l = 1000)
+
+        trex_res = self.trex.sample_to_run_finish()
+
+        # trex_res is a CTRexResult instance- and contains the summary of the test results
+        # you may see all the results keys by simply calling here for 'print trex_res.result'
+        print("\nLATEST RESULT OBJECT:")
+        print(trex_res)
+
+        self.check_general_scenario_results(trex_res)
+        self.check_CPU_benchmark(trex_res)
+
     def test_routing_imix_64(self):
         # test initializtion
         if not self.is_loopback: