diff options
-rw-r--r-- | scripts/automation/regression/setups/trex19/benchmark.yaml | 252 | ||||
-rw-r--r-- | scripts/automation/regression/setups/trex19/config.yaml | 41 |
2 files changed, 293 insertions, 0 deletions
diff --git a/scripts/automation/regression/setups/trex19/benchmark.yaml b/scripts/automation/regression/setups/trex19/benchmark.yaml new file mode 100644 index 00000000..1b51c890 --- /dev/null +++ b/scripts/automation/regression/setups/trex19/benchmark.yaml @@ -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 index 00000000..2d592831 --- /dev/null +++ b/scripts/automation/regression/setups/trex19/config.yaml @@ -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'] + + |