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

### stateful ###

test_jumbo:
    multiplier          : 110
    cores               : 1
    bw_per_core         : 767.198


test_routing_imix:
    multiplier          : 64
    cores               : 2
    bw_per_core         : 35.889


test_routing_imix_64:
    multiplier          : 5000
    cores               : 2
    bw_per_core         : 10.672


test_static_routing_imix_asymmetric:
    multiplier          : 32
    cores               : 1
    bw_per_core         : 52.738


test_ipv6_simple:
    multiplier          : 64
    cores               : 3
    bw_per_core         : 22.808


test_rx_check_http: &rx_http
    multiplier          : 90000
    cores               : 2
    rx_sample_rate      : 32
    bw_per_core         : 46.075


test_rx_check_http_ipv6:
    <<                  : *rx_http
    bw_per_core         : 49.237

test_rx_check_sfr: &rx_sfr
    multiplier          : 50
    cores               : 3
    rx_sample_rate      : 32
    bw_per_core         : 20.469

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


# performance tests

test_performance_vm_single_cpu:
    cfg:
        mult                    : "90%"
        mpps_per_core_golden    : 
                                   min: 13.0
                                   max: 17.3


test_performance_vm_single_cpu_cached:
    cfg:
        mult                    : "90%"
        mpps_per_core_golden    : 
                                   min: 28.5
                                   max: 31.2



test_performance_syn_attack_single_cpu:
     cfg:
        mult                    : "90%"
        mpps_per_core_golden    :
                                  min: 12.9
                                  max: 14.5

test_performance_vm_multi_cpus:
    cfg:
        core_count             : 2
        mult                   : "90%"
        mpps_per_core_golden   :
                                  min: 15.2
                                  max: 16.3


test_performance_vm_multi_cpus_cached:
    cfg:
        core_count             : 2
        mult                   : "90%"
        mpps_per_core_golden   :
                                  min: 26.8
                                  max: 29.5

test_performance_syn_attack_multi_cpus:
    cfg:
        core_count             : 2
        mult                   : "90%"
        mpps_per_core_golden   :
                                  min: 13.0
                                  max: 13.8