diff --git a/VERSION b/VERSION index f369c93f9d..d575f54691 100755 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.87 \ No newline at end of file +v2.87-pen.1 diff --git a/scripts/automation/regression/setups/jeremy/benchmark.yaml b/scripts/automation/regression/setups/jeremy/benchmark.yaml new file mode 100644 index 0000000000..66d4c52fa0 --- /dev/null +++ b/scripts/automation/regression/setups/jeremy/benchmark.yaml @@ -0,0 +1,151 @@ +############################################################### +#### TRex benchmark configuration file #### +############################################################### +############### ASTF ################ + + +profiles: + - name: astf/http_manual_commands.py + multiplier : 20000 + cores : 10 + bw_per_core : 25 + bypass_result : 1 + + +############### STL ################ +# profiles: +# - name: stl/udp_1pkt_simple.py +# kwargs : {packet_len: 64, stream_count: 1000} +# cores : 10 +# bw_per_core : 25 +# bypass_result : 1 + +test_CPU_benchmark: + profiles: + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, stream_count: 1000} + cpu_util : 1 + bw_per_core : 1 + +# 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 + +# - 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 + + +# - 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_all_profiles : +# mult : "5%" +# skip : ['udp_rand_len_9k.py', 'udp_inc_len_9k.py'] + + + diff --git a/scripts/automation/regression/setups/jeremy/config.yaml b/scripts/automation/regression/setups/jeremy/config.yaml new file mode 100644 index 0000000000..ad1b7c4965 --- /dev/null +++ b/scripts/automation/regression/setups/jeremy/config.yaml @@ -0,0 +1,34 @@ +trex: + hostname : 10.8.109.7 + cores : 5 + modes : ['loopback'] + + + ### TRex configuration: +# hostname - can be DNS name or IP for the TRex machine for ssh to the box +# 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, virtual 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 \ No newline at end of file diff --git a/scripts/automation/regression/stateful_tests/trex_general_test.py b/scripts/automation/regression/stateful_tests/trex_general_test.py index b5d8dd45ff..cde81f78e3 100755 --- a/scripts/automation/regression/stateful_tests/trex_general_test.py +++ b/scripts/automation/regression/stateful_tests/trex_general_test.py @@ -634,5 +634,15 @@ def get_per_driver_params(cls): 'no_vlan': True, 'no_ipv6': True, }, + + 'net_ionic_pci': { + 'rate_percent': 40, + 'rate_percent_soft': 0.01 if cls.is_vf_nics else 1, + 'total_pkts': 1000, + 'rate_latency': 0.01 if cls.is_vf_nics else 1, + 'latency_9k_enable': False if cls.is_vf_nics else True, + 'latency_9k_max_average': 200, + 'latency_9k_max_latency': 200, + }, }