###############################################################
####           TRex benchmark configuration file           ####
###############################################################

### stateful ###

test_jumbo:
    multiplier          : 150
    cores               : 2
    bw_per_core         : 962.464


test_routing_imix:
    multiplier          : 80
    cores               : 4
    bw_per_core         : 55.130


test_routing_imix_64:
    multiplier          : 8000
    cores               : 7
    bw_per_core         : 11.699


test_static_routing_imix_asymmetric:
    multiplier          : 70
    cores               : 3
    bw_per_core         : 50.561


test_ipv6_simple:
    multiplier          : 80
    cores               : 7
    bw_per_core         : 25.948


test_rx_check_http: &rx_http
    multiplier          : 99000
    cores               : 3
    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          : 80
    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: 15.1
                                   max: 20.3


test_performance_vm_single_cpu_cached:
    cfg:
        mult                    : "10%"
        mpps_per_core_golden    : 
                                   min: 29.1
                                   max: 32.0



test_performance_syn_attack_single_cpu:
     cfg:
        mult                    : "90%"
        mpps_per_core_golden    :
                                  min: 13.2
                                  max: 15.0

test_performance_vm_multi_cpus:
    cfg:
        core_count             : 7
        mult                   : "40%"
        mpps_per_core_golden   :
                                  min: 15.0
                                  max: 20.0


test_performance_vm_multi_cpus_cached:
    cfg:
        core_count             : 7
        mult                   : "40%"
        mpps_per_core_golden   :
                                  min: 29.0
                                  max: 34.0

test_performance_syn_attack_multi_cpus:
    cfg:
        core_count             : 7
        mult                   : "40%"
        mpps_per_core_golden   :
                                  min: 13.0
                                  max: 17.0