regression: trex19 files
authorYaroslav Brustinov <[email protected]>
Sun, 26 Mar 2017 13:10:18 +0000 (15:10 +0200)
committerYaroslav Brustinov <[email protected]>
Sun, 26 Mar 2017 13:10:18 +0000 (15:10 +0200)
Change-Id: I1c2be4780daee256799425c3cbbef58c38bb29a3
Signed-off-by: Yaroslav Brustinov <[email protected]>
scripts/automation/regression/setups/trex19/benchmark.yaml [new file with mode: 0644]
scripts/automation/regression/setups/trex19/config.yaml [new file with mode: 0644]

diff --git a/scripts/automation/regression/setups/trex19/benchmark.yaml b/scripts/automation/regression/setups/trex19/benchmark.yaml
new file mode 100644 (file)
index 0000000..1b51c89
--- /dev/null
@@ -0,0 +1,252 @@
+###############################################################
+####           TRex benchmark configuration file           ####
+###############################################################
+
+#### 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
+    bw_per_core         : 962.464
+
+
+test_routing_imix:
+    multiplier          : 60
+    cores               : 8
+    bw_per_core         : 48.130
+
+
+test_routing_imix_64:
+    multiplier          : 2500
+    cores               : 8
+    bw_per_core         : 12.699
+
+
+test_static_routing_imix_asymmetric:
+    multiplier          : 50
+    cores               : 8
+    bw_per_core         : 50.561
+
+
+test_ipv6_simple:
+    multiplier          : 50
+    cores               : 7
+    bw_per_core         : 19.5
+
+
+test_rx_check_http: &rx_http
+    multiplier          : 99000
+    cores               : 7
+    rx_sample_rate      : 128
+    bw_per_core         : 49.464
+
+test_rx_check_http_ipv6:
+    <<                  : *rx_http
+    bw_per_core         : 49.237
+
+test_rx_check_sfr: &rx_sfr
+    multiplier          : 35
+    cores               : 7
+    rx_sample_rate      : 128
+    bw_per_core         : 20.871
+
+test_rx_check_sfr_ipv6:
+    <<                  : *rx_sfr
+    bw_per_core         : 19.198
+
+
+### stateless ###
+
+test_CPU_benchmark:
+    profiles:
+      - name            : stl/udp_for_benchmarks.py
+        kwargs          : {packet_len: 64}
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      - name            : stl/udp_for_benchmarks.py
+        kwargs          : {packet_len: 64, stream_count: 10}
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      - name            : stl/udp_for_benchmarks.py
+        kwargs          : {packet_len: 64, stream_count: 100}
+        cpu_util        : 1
+        bw_per_core     : 1
+
+# causes queue full
+#      - name            : stl/udp_for_benchmarks.py
+#        kwargs          : {packet_len: 64, stream_count: 1000}
+#        cpu_util        : 1
+#        bw_per_core     : 1
+
+      - name            : stl/udp_for_benchmarks.py
+        kwargs          : {packet_len: 128}
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      - name            : stl/udp_for_benchmarks.py
+        kwargs          : {packet_len: 256}
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      - name            : stl/udp_for_benchmarks.py
+        kwargs          : {packet_len: 512}
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      - name            : stl/udp_for_benchmarks.py
+        kwargs          : {packet_len: 1500}
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      - name            : stl/udp_for_benchmarks.py
+        kwargs          : {packet_len: 4000}
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      - name            : stl/udp_for_benchmarks.py
+        kwargs          : {packet_len: 9000}
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      - name            : stl/udp_for_benchmarks.py
+        kwargs          : {packet_len: 9000, stream_count: 10}
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      #- name            : stl/udp_for_benchmarks.py
+      #  kwargs          : {packet_len: 9000, stream_count: 100}
+      #  cpu_util        : 1
+      #  bw_per_core     : 1
+
+# not enough memory + queue full if memory increase
+#      - name            : stl/udp_for_benchmarks.py
+#        kwargs          : {packet_len: 9000, stream_count: 1000}
+#        cpu_util        : 1
+#        bw_per_core     : 1
+
+      - name            : stl/imix.py
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      - name            : stl/udp_1pkt_tuple_gen.py
+        kwargs          : {packet_len: 64}
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      - name            : stl/udp_1pkt_tuple_gen.py
+        kwargs          : {packet_len: 128}
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      - name            : stl/udp_1pkt_tuple_gen.py
+        kwargs          : {packet_len: 256}
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      - name            : stl/udp_1pkt_tuple_gen.py
+        kwargs          : {packet_len: 512}
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      - name            : stl/udp_1pkt_tuple_gen.py
+        kwargs          : {packet_len: 1500}
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      - name            : stl/udp_1pkt_tuple_gen.py
+        kwargs          : {packet_len: 4000}
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      - name            : stl/udp_1pkt_tuple_gen.py
+        kwargs          : {packet_len: 9000}
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      - name            : stl/pcap.py
+        kwargs          : {ipg_usec: 2, loop_count: 0}
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      - name            : stl/udp_rand_len_9k.py
+        cpu_util        : 1
+        bw_per_core     : 1
+
+      - name            : stl/hlt/hlt_udp_rand_len_9k.py
+        cpu_util        : 1
+        bw_per_core     : 1
+
+test_performance_vm_single_cpu:
+    cfg:
+        mult                    : "90%"
+        mpps_per_core_golden    : 
+                                   min: 9.6
+                                   max: 13.3
+
+
+test_performance_vm_single_cpu_cached:
+    cfg:
+        mult                    : "10%"
+        mpps_per_core_golden    : 
+                                   min: 20.0
+                                   max: 25.0
+
+
+
+test_performance_syn_attack_single_cpu:
+     cfg:
+        mult                    : "90%"
+        mpps_per_core_golden    :
+                                  min: 8.4
+                                  max: 14.0
+
+test_performance_vm_multi_cpus:
+    cfg:
+        core_count             : 7
+        mult                   : "90%"
+        mpps_per_core_golden   :
+                                  min: 7.7
+                                  max: 10.8
+
+
+test_performance_vm_multi_cpus_cached:
+    cfg:
+        core_count             : 7
+        mult                   : "35%"
+        mpps_per_core_golden   :
+                                  min: 22.0
+                                  max: 24.3
+
+test_performance_syn_attack_multi_cpus:
+    cfg:
+        core_count             : 7
+        mult                   : "90%"
+        mpps_per_core_golden   :
+                                  min: 8.0
+                                  max: 11.0
+                                  
+
+test_all_profiles :
+        mult          : "5%"
+        skip          : ['udp_rand_len_9k.py', 'udp_inc_len_9k.py']
+        
diff --git a/scripts/automation/regression/setups/trex19/config.yaml b/scripts/automation/regression/setups/trex19/config.yaml
new file mode 100644 (file)
index 0000000..2d59283
--- /dev/null
@@ -0,0 +1,41 @@
+################################################################
+####         TRex nightly test configuration file          ####
+################################################################
+
+
+### TRex configuration:
+# hostname        - can be DNS name or IP for the TRex machine for ssh to the box
+# password        - root password for TRex machine
+# is_dual         - should the TRex inject with -p ?
+# version_path    - path to the TRex version and executable
+# cores           - how many cores should be used
+# latency         - rate of latency packets injected by the TRex
+# modes           - list of modes (tagging) of this setup (loopback etc.)
+#        * loopback  - Trex works via loopback. Router and TFTP configurations may be skipped.
+#     * VM        - Virtual OS (accept low CPU utilization in tests, latency can get spikes)
+#     * virt_nics - NICs are virtual (VMXNET3 etc.)
+
+### Router configuration:
+# hostname       - the router hostname as apears in ______# cli prefix
+# ip_address     - the router's ip that can be used to communicate with
+# image          - the desired imaged wished to be loaded as the router's running config
+# line_password  - router password when access via Telent
+# en_password    - router password when changing to "enable" mode
+# interfaces     - an array of client-server pairs, representing the interfaces configurations of the router
+# configurations - an array of configurations that could possibly loaded into the router during the test. 
+#                  The "clean" configuration is a mandatory configuration the router will load with to run the basic test bench
+
+### TFTP configuration:
+# hostname       - the tftp hostname
+# ip_address     - the tftp's ip address
+# images_path    - the tftp's relative path in which the router's images are located
+
+### Test_misc configuration:
+# expected_bw    - the "golden" bandwidth (in Gbps) results planned on receiving from the test
+
+trex:
+  hostname       : csi-trex-19
+  cores          : 13
+  modes          : ['loopback']
+
+