From 6c46ecabec713485954dc7394e8a9808309fb4bc Mon Sep 17 00:00:00 2001 From: Yaroslav Brustinov Date: Tue, 19 Apr 2016 03:16:21 +0300 Subject: regression: add trex07, trex14, trex25. skip rx_check negative on kiwi02 for now. --- .../regression/setups/kiwi02/benchmark.yaml | 11 +- .../regression/setups/trex07/benchmark.yaml | 170 +++++++++++++++++++++ .../regression/setups/trex07/config.yaml | 66 ++++++++ .../regression/setups/trex14/config.yaml | 3 +- .../regression/setups/trex25/benchmark.yaml | 162 ++++++++++++++++++++ .../regression/setups/trex25/config.yaml | 93 +++++++++++ 6 files changed, 499 insertions(+), 6 deletions(-) create mode 100644 scripts/automation/regression/setups/trex07/benchmark.yaml create mode 100644 scripts/automation/regression/setups/trex07/config.yaml create mode 100644 scripts/automation/regression/setups/trex25/benchmark.yaml create mode 100644 scripts/automation/regression/setups/trex25/config.yaml (limited to 'scripts/automation/regression/setups') diff --git a/scripts/automation/regression/setups/kiwi02/benchmark.yaml b/scripts/automation/regression/setups/kiwi02/benchmark.yaml index 60febc8f..f136a835 100644 --- a/scripts/automation/regression/setups/kiwi02/benchmark.yaml +++ b/scripts/automation/regression/setups/kiwi02/benchmark.yaml @@ -142,11 +142,12 @@ test_rx_check_http_ipv6: rx_sample_rate : 32 error_tolerance : 0.01 -test_rx_check_http_negative: - multiplier : 40000 - cores : 2 - rx_sample_rate : 32 - error_tolerance : 0.01 +#works badly on kiwi02, comment out for now +#test_rx_check_http_negative: +# multiplier : 40000 +# cores : 2 +# rx_sample_rate : 32 +# error_tolerance : 0.01 test_jumbo: multiplier : 55 diff --git a/scripts/automation/regression/setups/trex07/benchmark.yaml b/scripts/automation/regression/setups/trex07/benchmark.yaml new file mode 100644 index 00000000..4778de91 --- /dev/null +++ b/scripts/automation/regression/setups/trex07/benchmark.yaml @@ -0,0 +1,170 @@ +############################################################### +#### TRex benchmark configuration file #### +############################################################### + +test_nbar_simple : + multiplier : 7.5 + cores : 2 + exp_gbps : 3.5 + cpu_to_core_ratio : 20800000 + cpu2core_custom_dev: YES + cpu2core_dev : 0.07 + exp_max_latency : 1000 + + nbar_classification: + rtp : 32.57 + http : 30.25 + oracle-sqlnet : 11.23 + exchange : 10.80 + citrix : 5.62 + rtsp : 2.84 + dns : 1.95 + smtp : 0.57 + pop3 : 0.36 + ssl : 0.17 + sctp : 0.13 + sip : 0.09 + unknown : 3.41 + +test_rx_check : + multiplier : 13 + cores : 3 + rx_sample_rate : 128 + exp_gbps : 6 + cpu_to_core_ratio : 37270000 + exp_bw : 13 + exp_latency : 1 + +test_nat_simple : &test_nat_simple + stat_route_dict : + clients_start : 16.0.0.1 + servers_start : 48.0.0.1 + dual_port_mask : 1.0.0.0 + client_destination_mask : 255.0.0.0 + server_destination_mask : 255.0.0.0 + nat_dict : + clients_net_start : 16.0.0.0 + client_acl_wildcard_mask : 0.0.0.255 + dual_port_mask : 1.0.0.0 + pool_start : 200.0.0.0 + pool_netmask : 255.255.255.0 + multiplier : 12000 + cores : 1 + cpu_to_core_ratio : 37270000 + exp_bw : 1 + exp_latency : 1 + allow_timeout_dev : YES + +test_nat_simple_mode1 : *test_nat_simple +test_nat_simple_mode2 : *test_nat_simple + +test_nat_learning : + stat_route_dict : + clients_start : 16.0.0.1 + servers_start : 48.0.0.1 + dual_port_mask : 1.0.0.0 + client_destination_mask : 255.0.0.0 + server_destination_mask : 255.0.0.0 + multiplier : 12000 + cores : 1 + nat_opened : 40000 + cpu_to_core_ratio : 270 + exp_bw : 8 + exp_latency : 1 + allow_timeout_dev : YES + +test_routing_imix_64 : + multiplier : 430 + cores : 1 + cpu_to_core_ratio : 280 + exp_latency : 1 + +test_routing_imix : + multiplier : 10 + cores : 1 + cpu_to_core_ratio : 1800 + exp_latency : 1 + +test_static_routing_imix : + stat_route_dict : + clients_start : 16.0.0.1 + servers_start : 48.0.0.1 + dual_port_mask : 1.0.0.0 + client_destination_mask : 255.0.0.0 + server_destination_mask : 255.0.0.0 + multiplier : 8 + cores : 1 + cpu_to_core_ratio : 1800 + exp_latency : 1 + +test_static_routing_imix_asymmetric: + stat_route_dict : + clients_start : 16.0.0.1 + servers_start : 48.0.0.1 + dual_port_mask : 1.0.0.0 + client_destination_mask : 255.0.0.0 + server_destination_mask : 255.0.0.0 + multiplier : 8 + cores : 1 + cpu_to_core_ratio : 1800 + exp_latency : 1 + +test_ipv6_simple : + multiplier : 9 + cores : 2 + cpu_to_core_ratio : 30070000 + cpu2core_custom_dev: YES + cpu2core_dev : 0.07 + + +test_rx_check_sfr: + multiplier : 10 + cores : 2 + rx_sample_rate : 16 + # allow 0.03% errors, bad router + error_tolerance : 0.03 + +test_rx_check_http: + multiplier : 15000 + cores : 1 + rx_sample_rate : 16 + # allow 0.03% errors, bad routerifconfig + error_tolerance : 0.03 + +test_rx_check_sfr_ipv6: + multiplier : 10 + cores : 2 + rx_sample_rate : 16 + # allow 0.03% errors, bad router + error_tolerance : 0.03 + +test_rx_check_http_ipv6: + multiplier : 15000 + cores : 1 + rx_sample_rate : 16 + # allow 0.03% errors, bad router + error_tolerance : 0.03 + +test_rx_check_http_negative: + multiplier : 13000 + cores : 1 + rx_sample_rate : 16 + # allow 0.03% errors, bad router + error_tolerance : 0.03 + stat_route_dict : + clients_start : 16.0.0.1 + servers_start : 48.0.0.1 + dual_port_mask : 1.0.0.0 + client_destination_mask : 255.0.0.0 + server_destination_mask : 255.0.0.0 + nat_dict : + clients_net_start : 16.0.0.0 + client_acl_wildcard_mask : 0.0.0.255 + dual_port_mask : 1.0.0.0 + pool_start : 200.0.0.0 + pool_netmask : 255.255.255.0 + + +test_jumbo: + multiplier : 17 + cores : 1 diff --git a/scripts/automation/regression/setups/trex07/config.yaml b/scripts/automation/regression/setups/trex07/config.yaml new file mode 100644 index 00000000..beb73435 --- /dev/null +++ b/scripts/automation/regression/setups/trex07/config.yaml @@ -0,0 +1,66 @@ +################################################################ +#### T-Rex nightly test configuration file #### +################################################################ + + +### T-Rex 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 t-rex 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-07 + cores : 4 + +router: + model : ASR1001x + hostname : csi-asr-01 + ip_address : 10.56.216.120 + image : asr1001x-universalk9.03.13.02.S.154-3.S2-ext.SPA.bin + line_password : cisco + en_password : cisco + mgmt_interface : GigabitEthernet0 + clean_config : clean_config.cfg + intf_masking : 255.255.255.0 + ipv6_mask : 64 + interfaces : + - client : + name : Te0/0/0 + src_mac_addr : 0000.0001.0002 + dest_mac_addr : 0000.0001.0001 + server : + name : Te0/0/1 + src_mac_addr : 0000.0002.0002 + dest_mac_addr : 0000.0002.0001 + vrf_name : null + +tftp: + hostname : ats-asr-srv-1 + ip_address : 10.56.217.7 + root_dir : /scratch/tftp/ + images_path : /asr1001x/ diff --git a/scripts/automation/regression/setups/trex14/config.yaml b/scripts/automation/regression/setups/trex14/config.yaml index 10938ff3..1a528a9b 100644 --- a/scripts/automation/regression/setups/trex14/config.yaml +++ b/scripts/automation/regression/setups/trex14/config.yaml @@ -35,7 +35,8 @@ trex: hostname : csi-trex-14 - cores : 1 + cores : 4 + modes : [] router: model : ASR1001x diff --git a/scripts/automation/regression/setups/trex25/benchmark.yaml b/scripts/automation/regression/setups/trex25/benchmark.yaml new file mode 100644 index 00000000..bd0a7e03 --- /dev/null +++ b/scripts/automation/regression/setups/trex25/benchmark.yaml @@ -0,0 +1,162 @@ +############################################################### +#### TRex benchmark configuration file #### +############################################################### + +test_nbar_simple : + multiplier : 6 + cores : 1 + exp_gbps : 0.5 + cpu_to_core_ratio : 20800000 + cpu2core_custom_dev: YES + cpu2core_dev : 0.07 + exp_max_latency : 1000 + + nbar_classification: + http : 24.55 + rtp : 19.15 + sqlnet : 10.38 + secure-http : 5.11 + citrix : 4.68 + mapi : 4.04 + dns : 1.56 + sctp : 0.66 + smtp : 0.48 + pop3 : 0.30 + novadigm : 0.09 + sip : 0.08 + h323 : 0.05 + rtsp : 0.04 + unknown : 28.52 + +test_rx_check : + multiplier : 3.2 + cores : 1 + rx_sample_rate : 128 + exp_gbps : 0.5 + cpu_to_core_ratio : 37270000 + exp_bw : 1 + exp_latency : 1 + +test_nat_simple : &test_nat_simple + stat_route_dict : + clients_start : 16.0.0.1 + servers_start : 48.0.0.1 + dual_port_mask : 1.0.0.0 + client_destination_mask : 255.0.0.0 + server_destination_mask : 255.0.0.0 + nat_dict : + clients_net_start : 16.0.0.0 + client_acl_wildcard_mask : 0.0.0.255 + dual_port_mask : 1.0.0.0 + pool_start : 200.0.0.0 + pool_netmask : 255.255.255.0 + multiplier : 2200 + cores : 1 + cpu_to_core_ratio : 37270000 + exp_bw : 1 + exp_latency : 1 + allow_timeout_dev : YES + +test_nat_simple_mode1 : *test_nat_simple +test_nat_simple_mode2 : *test_nat_simple + +test_nat_learning : + stat_route_dict : + clients_start : 16.0.0.1 + servers_start : 48.0.0.1 + dual_port_mask : 1.0.0.0 + client_destination_mask : 255.0.0.0 + server_destination_mask : 255.0.0.0 + multiplier : 2200 + cores : 1 + nat_opened : 40000 + cpu_to_core_ratio : 270 + exp_bw : 1 + exp_latency : 1 + allow_timeout_dev : YES + +test_routing_imix_64 : + multiplier : 600 + cores : 1 + cpu_to_core_ratio : 280 + exp_latency : 1 + +test_routing_imix : + multiplier : 4 + cores : 1 + cpu_to_core_ratio : 1800 + exp_latency : 1 + +test_static_routing_imix : + stat_route_dict : + clients_start : 16.0.0.1 + servers_start : 48.0.0.1 + dual_port_mask : 1.0.0.0 + client_destination_mask : 255.0.0.0 + server_destination_mask : 255.0.0.0 + multiplier : 2.8 + cores : 1 + cpu_to_core_ratio : 1800 + exp_latency : 1 + +test_static_routing_imix_asymmetric: + stat_route_dict : + clients_start : 16.0.0.1 + servers_start : 48.0.0.1 + dual_port_mask : 1.0.0.0 + client_destination_mask : 255.0.0.0 + server_destination_mask : 255.0.0.0 + multiplier : 3.2 + cores : 1 + cpu_to_core_ratio : 1800 + exp_latency : 1 + +test_ipv6_simple: + multiplier : 6 + cores : 1 + cpu_to_core_ratio : 30070000 + cpu2core_custom_dev: YES + cpu2core_dev : 0.07 + + +test_rx_check_sfr: + multiplier : 6.8 + cores : 1 + rx_sample_rate : 16 + +test_rx_check_http: + multiplier : 8800 + cores : 1 + rx_sample_rate : 16 + +test_rx_check_sfr_ipv6: + multiplier : 6.8 + cores : 1 + rx_sample_rate : 16 + +test_rx_check_http_ipv6: + multiplier : 8800 + cores : 1 + rx_sample_rate : 16 + +test_rx_check_http_negative: + multiplier : 8800 + cores : 1 + rx_sample_rate : 16 + stat_route_dict : + clients_start : 16.0.0.1 + servers_start : 48.0.0.1 + dual_port_mask : 1.0.0.0 + client_destination_mask : 255.0.0.0 + server_destination_mask : 255.0.0.0 + nat_dict : + clients_net_start : 16.0.0.0 + client_acl_wildcard_mask : 0.0.0.255 + dual_port_mask : 1.0.0.0 + pool_start : 200.0.0.0 + pool_netmask : 255.255.255.0 + + +test_jumbo: + multiplier : 6 + cores : 1 diff --git a/scripts/automation/regression/setups/trex25/config.yaml b/scripts/automation/regression/setups/trex25/config.yaml new file mode 100644 index 00000000..821208a5 --- /dev/null +++ b/scripts/automation/regression/setups/trex25/config.yaml @@ -0,0 +1,93 @@ +################################################################ +#### T-Rex nightly test configuration file #### +################################################################ + + +### T-Rex 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 t-rex 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 + +trex: + hostname : csi-trex-25 + cores : 2 + modes : ['1G'] + +router: + model : ASR1004(RP2) + hostname : csi-mcp-asr1k-4ru-12 + ip_address : 10.56.217.181 + image : asr1000rp2-adventerprisek9.BLD_V151_1_S_XE32_THROTTLE_LATEST_20100926_034325_2.bin + line_password : cisco + en_password : cisco + mgmt_interface : GigabitEthernet0/0/0 + clean_config : clean_config.cfg + intf_masking : 255.255.255.0 + ipv6_mask : 64 + interfaces : + - client : + name : GigabitEthernet0/1/0 + src_mac_addr : 0000.0001.0000 + dest_mac_addr : 0000.0001.0000 + server : + name : GigabitEthernet0/1/1 + src_mac_addr : 0000.0001.0000 + dest_mac_addr : 0000.0001.0000 + vrf_name : + - client : + name : GigabitEthernet0/1/2 + src_mac_addr : 0000.0001.0000 + dest_mac_addr : 0000.0001.0000 + server : + name : GigabitEthernet0/1/4 + src_mac_addr : 0000.0001.0000 + dest_mac_addr : 0000.0001.0000 + vrf_name : + - client : + name : GigabitEthernet0/1/5 + src_mac_addr : 0000.0001.0000 + dest_mac_addr : 0000.0001.0000 + server : + name : GigabitEthernet0/1/3 + src_mac_addr : 0000.0001.0000 + dest_mac_addr : 0000.0001.0000 + vrf_name : + - client : + name : GigabitEthernet0/1/6 + src_mac_addr : 0000.0001.0000 + dest_mac_addr : 0000.0001.0000 + server : + name : GigabitEthernet0/1/7 + src_mac_addr : 0000.0001.0000 + dest_mac_addr : 0000.0001.0000 + vrf_name : + +tftp: + hostname : ats-asr-srv-1 + ip_address : 10.56.128.23 + root_dir : /auto/avc-devtest/ + images_path : /images/1RU/ -- cgit 1.2.3-korg From ba14992cdf3f497bdaca6209e040e2119c43277e Mon Sep 17 00:00:00 2001 From: Yaroslav Brustinov Date: Mon, 25 Apr 2016 03:02:35 +0300 Subject: regression: add bw per core for trex-dan, trex08, trex14, trex17, trex25 flush printing buffer at beginning and end of tests --- .../regression/setups/trex-dan/benchmark.yaml | 234 ++++++++----------- .../regression/setups/trex08/benchmark.yaml | 82 +++---- .../regression/setups/trex14/benchmark.yaml | 248 ++++++++------------- .../regression/setups/trex17/benchmark.yaml | 73 ++---- .../regression/setups/trex25/benchmark.yaml | 243 +++++++++----------- .../regression/stateful_tests/trex_general_test.py | 3 + 6 files changed, 358 insertions(+), 525 deletions(-) (limited to 'scripts/automation/regression/setups') diff --git a/scripts/automation/regression/setups/trex-dan/benchmark.yaml b/scripts/automation/regression/setups/trex-dan/benchmark.yaml index 33e5a771..77406880 100644 --- a/scripts/automation/regression/setups/trex-dan/benchmark.yaml +++ b/scripts/automation/regression/setups/trex-dan/benchmark.yaml @@ -2,160 +2,124 @@ #### TRex benchmark configuration file #### ############################################################### -test_nbar_simple : - multiplier : 1.5 - cores : 2 - exp_gbps : 0.5 - cpu_to_core_ratio : 20800000 - cpu2core_custom_dev: YES - cpu2core_dev : 0.07 - exp_max_latency : 1000 - - nbar_classification: - http : 30.3 - rtp_audio : 21.06 - oracle_sqlnet : 11.25 - rtp : 11.1 - exchange : 10.16 - citrix : 5.6 - rtsp : 2.84 - sctp : 0.65 - ssl : 0.8 - sip : 0.09 - dns : 1.95 - smtp : 0.57 - pop3 : 0.36 - unknown : 3.19 - -test_rx_check : - multiplier : 0.8 - cores : 1 - rx_sample_rate : 128 - exp_gbps : 0.5 - cpu_to_core_ratio : 37270000 - exp_bw : 1 - exp_latency : 1 - -test_nat_simple : &test_nat_simple - stat_route_dict : +#### common templates ### + +stat_route_dict: &stat_route_dict clients_start : 16.0.0.1 servers_start : 48.0.0.1 dual_port_mask : 1.0.0.0 client_destination_mask : 255.0.0.0 server_destination_mask : 255.0.0.0 - nat_dict : + +nat_dict: &nat_dict clients_net_start : 16.0.0.0 client_acl_wildcard_mask : 0.0.0.255 dual_port_mask : 1.0.0.0 pool_start : 200.0.0.0 pool_netmask : 255.255.255.0 - multiplier : 550 - cores : 1 - cpu_to_core_ratio : 37270000 - exp_bw : 1 - exp_latency : 1 - allow_timeout_dev : YES - -test_nat_simple_mode1 : *test_nat_simple -test_nat_simple_mode2 : *test_nat_simple - -test_nat_learning : - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 550 - cores : 1 - nat_opened : 40000 - cpu_to_core_ratio : 270 - exp_bw : 1 - exp_latency : 1 - allow_timeout_dev : YES - -test_routing_imix_64 : - multiplier : 150 - cores : 4 - cpu_to_core_ratio : 280 - exp_latency : 1 - -test_routing_imix : - multiplier : 1 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 - -test_static_routing_imix : - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 0.7 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 -test_static_routing_imix_asymmetric: - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 0.8 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 -test_ipv6_simple : - multiplier : 1.5 - cores : 2 - cpu_to_core_ratio : 30070000 - cpu2core_custom_dev: YES - cpu2core_dev : 0.07 +### tests ### +test_jumbo: + multiplier : 2.8 + cores : 1 + bw_per_core : 67030 -test_rx_check_sfr: - multiplier : 1.7 - cores : 2 - rx_sample_rate : 16 -test_rx_check_http: - multiplier : 2200 - cores : 1 - rx_sample_rate : 16 +test_routing_imix: + multiplier : 1 + cores : 1 + bw_per_core : 3979 + + +test_routing_imix_64: + multiplier : 150 + cores : 4 + bw_per_core : 681 + + +test_static_routing_imix: + stat_route_dict : *stat_route_dict + multiplier : 0.7 + cores : 1 + bw_per_core : 3837 -test_rx_check_sfr_ipv6: - multiplier : 1.7 - cores : 2 - rx_sample_rate : 16 + +test_static_routing_imix_asymmetric: + stat_route_dict : *stat_route_dict + multiplier : 0.8 + cores : 1 + bw_per_core : 3939 + + +test_ipv6_simple: + multiplier : 1.5 + cores : 2 + bw_per_core : 4719 + + +test_nat_simple_mode1: &test_nat_simple + stat_route_dict : *stat_route_dict + nat_dict : *nat_dict + multiplier : 550 + cores : 1 + bw_per_core : 7465 + +test_nat_simple_mode2: *test_nat_simple + +test_nat_learning: + << : *test_nat_simple + bw_per_core : 7377 + nat_opened : 40000 + + +test_nbar_simple: + multiplier : 1.5 + cores : 2 + bw_per_core : 4465 + nbar_classification: + http : 30.3 + rtp_audio : 21.06 + oracle_sqlnet : 11.25 + rtp : 11.1 + exchange : 10.16 + citrix : 5.6 + rtsp : 2.84 + sctp : 0.65 + ssl : 0.8 + sip : 0.09 + dns : 1.95 + smtp : 0.57 + pop3 : 0.36 + unknown : 3.19 + + +test_rx_check_http: &rx_http + multiplier : 2200 + cores : 1 + rx_sample_rate : 16 + bw_per_core : 8142 test_rx_check_http_ipv6: - multiplier : 2200 - cores : 1 - rx_sample_rate : 16 + << : *rx_http + bw_per_core : 8591 test_rx_check_http_negative: - multiplier : 2200 - cores : 1 - rx_sample_rate : 16 - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - nat_dict : - clients_net_start : 16.0.0.0 - client_acl_wildcard_mask : 0.0.0.255 - dual_port_mask : 1.0.0.0 - pool_start : 200.0.0.0 - pool_netmask : 255.255.255.0 + << : *rx_http + stat_route_dict : *stat_route_dict + nat_dict : *nat_dict + bw_per_core : 8037 + + +test_rx_check_sfr: &rx_sfr + multiplier : 1.7 + cores : 2 + rx_sample_rate : 16 + bw_per_core : 4473 + +test_rx_check_sfr_ipv6: + << : *rx_sfr + bw_per_core : 4773 -test_jumbo: - multiplier : 2.8 - cores : 1 diff --git a/scripts/automation/regression/setups/trex08/benchmark.yaml b/scripts/automation/regression/setups/trex08/benchmark.yaml index d4bb8283..79f727cc 100644 --- a/scripts/automation/regression/setups/trex08/benchmark.yaml +++ b/scripts/automation/regression/setups/trex08/benchmark.yaml @@ -2,58 +2,48 @@ #### TRex benchmark configuration file #### ############################################################### -test_routing_imix_64 : - multiplier : 8000 - cores : 7 - cpu_to_core_ratio : 280 - exp_latency : 1 - -test_routing_imix : - multiplier : 80 - cores : 4 - cpu_to_core_ratio : 1800 - exp_latency : 1 + +test_jumbo: + multiplier : 150 + cores : 2 + bw_per_core : 962464 + + +test_routing_imix: + multiplier : 80 + cores : 4 + bw_per_core : 55130 + + +test_routing_imix_64: + multiplier : 8000 + cores : 7 + bw_per_core : 11699 + test_static_routing_imix_asymmetric: - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 70 - cores : 3 - cpu_to_core_ratio : 1800 - exp_latency : 1 - -test_ipv6_simple : - multiplier : 80 - cores : 7 - cpu_to_core_ratio : 30070000 - cpu2core_custom_dev: YES - cpu2core_dev : 0.07 + multiplier : 70 + cores : 3 + bw_per_core : 50561 -test_rx_check_sfr: - multiplier : 80 - cores : 7 - rx_sample_rate : 128 +test_ipv6_simple: + multiplier : 80 + cores : 7 + bw_per_core : 25948 -test_rx_check_sfr_ipv6_disabled: - multiplier : 80 - cores : 7 - rx_sample_rate : 128 test_rx_check_http: - multiplier : 99000 - cores : 3 - rx_sample_rate : 128 + multiplier : 99000 + cores : 3 + rx_sample_rate : 128 + bw_per_core : 49464 + + +test_rx_check_sfr: + multiplier : 80 + cores : 7 + rx_sample_rate : 128 + bw_per_core : 20871 -test_rx_check_http_ipv6_disabled: - multiplier : 99000 - cores : 3 - rx_sample_rate : 128 -test_jumbo: - multiplier : 150 - cores : 2 \ No newline at end of file diff --git a/scripts/automation/regression/setups/trex14/benchmark.yaml b/scripts/automation/regression/setups/trex14/benchmark.yaml index e602ad1a..2d78720e 100644 --- a/scripts/automation/regression/setups/trex14/benchmark.yaml +++ b/scripts/automation/regression/setups/trex14/benchmark.yaml @@ -2,170 +2,120 @@ #### TRex benchmark configuration file #### ############################################################### -test_nbar_simple : - multiplier : 7.5 - cores : 2 - exp_gbps : 3.5 - cpu_to_core_ratio : 20800000 - cpu2core_custom_dev: YES - cpu2core_dev : 0.07 - exp_max_latency : 1000 - - nbar_classification: - http : 32.58 - rtp-audio : 21.21 - oracle_sqlnet : 11.41 - exchange : 11.22 - rtp : 11.2 - citrix : 5.65 - rtsp : 2.87 - dns : 1.96 - smtp : 0.57 - pop3 : 0.37 - ssl : 0.28 - sctp : 0.13 - sip : 0.09 - unknown : 0.45 - -test_rx_check : - multiplier : 13 - cores : 4 - rx_sample_rate : 128 - exp_gbps : 6 - cpu_to_core_ratio : 37270000 - exp_bw : 13 - exp_latency : 1 - -test_nat_simple : &test_nat_simple - stat_route_dict : +#### common templates ### + +stat_route_dict: &stat_route_dict clients_start : 16.0.0.1 servers_start : 48.0.0.1 dual_port_mask : 1.0.0.0 client_destination_mask : 255.0.0.0 server_destination_mask : 255.0.0.0 - nat_dict : + +nat_dict: &nat_dict clients_net_start : 16.0.0.0 client_acl_wildcard_mask : 0.0.0.255 dual_port_mask : 1.0.0.0 pool_start : 200.0.0.0 pool_netmask : 255.255.255.0 - multiplier : 12000 - cores : 1 - cpu_to_core_ratio : 37270000 - exp_bw : 1 - exp_latency : 1 - allow_timeout_dev : YES - -test_nat_simple_mode1 : *test_nat_simple -test_nat_simple_mode2 : *test_nat_simple - -test_nat_learning : - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 12000 - cores : 1 - nat_opened : 40000 - cpu_to_core_ratio : 270 - exp_bw : 8 - exp_latency : 1 - allow_timeout_dev : YES - -test_routing_imix_64 : - multiplier : 430 - cores : 1 - cpu_to_core_ratio : 280 - exp_latency : 1 - -test_routing_imix : - multiplier : 10 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 - -test_static_routing_imix : - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 8 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 -test_static_routing_imix_asymmetric: - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 8 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 - -test_ipv6_simple : - multiplier : 9 - cores : 2 - cpu_to_core_ratio : 30070000 - cpu2core_custom_dev: YES - cpu2core_dev : 0.07 - - -test_rx_check_sfr: - multiplier : 10 - cores : 3 - rx_sample_rate : 16 - # allow 0.03% errors, bad router - error_tolerance : 0.03 - -test_rx_check_http: - multiplier : 15000 - cores : 1 - rx_sample_rate : 16 - # allow 0.03% errors, bad routerifconfig - error_tolerance : 0.03 -test_rx_check_sfr_ipv6: - multiplier : 10 - cores : 3 - rx_sample_rate : 16 - # allow 0.03% errors, bad router - error_tolerance : 0.03 +### tests ### + +test_jumbo: + multiplier : 17 + cores : 1 + bw_per_core : 543232 + + +test_routing_imix: + multiplier : 10 + cores : 1 + bw_per_core : 34128 + + +test_routing_imix_64: + multiplier : 430 + cores : 1 + bw_per_core : 5893 + + +test_static_routing_imix: &test_static_routing_imix + stat_route_dict : *stat_route_dict + multiplier : 8 + cores : 1 + bw_per_core : 34339 + +test_static_routing_imix_asymmetric: *test_static_routing_imix + + +test_ipv6_simple: + multiplier : 9 + cores : 2 + bw_per_core : 19064 + + +test_nat_simple_mode1: &test_nat_simple + stat_route_dict : *stat_route_dict + nat_dict : *nat_dict + multiplier : 12000 + cores : 1 + bw_per_core : 44445 + +test_nat_simple_mode2: *test_nat_simple + +test_nat_learning: + << : *test_nat_simple + nat_opened : 40000 + + +test_nbar_simple: + multiplier : 7.5 + cores : 2 + bw_per_core : 17174 + nbar_classification: + http : 32.58 + rtp-audio : 21.21 + oracle_sqlnet : 11.41 + exchange : 11.22 + rtp : 11.2 + citrix : 5.65 + rtsp : 2.87 + dns : 1.96 + smtp : 0.57 + pop3 : 0.37 + ssl : 0.28 + sctp : 0.13 + sip : 0.09 + unknown : 0.45 + + +test_rx_check_http: &rx_http + multiplier : 15000 + cores : 1 + rx_sample_rate : 16 + bw_per_core : 39560 test_rx_check_http_ipv6: - multiplier : 15000 - cores : 1 - rx_sample_rate : 16 - # allow 0.03% errors, bad router - error_tolerance : 0.03 + << : *rx_http + bw_per_core : 49237 test_rx_check_http_negative: - multiplier : 13000 - cores : 1 - rx_sample_rate : 16 - # allow 0.03% errors, bad router - error_tolerance : 0.03 - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - nat_dict : - clients_net_start : 16.0.0.0 - client_acl_wildcard_mask : 0.0.0.255 - dual_port_mask : 1.0.0.0 - pool_start : 200.0.0.0 - pool_netmask : 255.255.255.0 + << : *rx_http + stat_route_dict : *stat_route_dict + nat_dict : *nat_dict + + +test_rx_check_sfr: &rx_sfr + multiplier : 10 + cores : 3 + rx_sample_rate : 16 + bw_per_core : 16082 + +test_rx_check_sfr_ipv6: + << : *rx_sfr + bw_per_core : 19198 + + + -test_jumbo: - multiplier : 17 - cores : 1 diff --git a/scripts/automation/regression/setups/trex17/benchmark.yaml b/scripts/automation/regression/setups/trex17/benchmark.yaml index e5459dce..60860f54 100644 --- a/scripts/automation/regression/setups/trex17/benchmark.yaml +++ b/scripts/automation/regression/setups/trex17/benchmark.yaml @@ -3,60 +3,27 @@ ################################################################ -test_rx_check : - multiplier : 0.8 - cores : 1 - rx_sample_rate : 128 - exp_gbps : 0.5 - cpu_to_core_ratio : 37270000 - exp_bw : 1 - exp_latency : 1 - - -test_routing_imix_64 : - multiplier : 28 - cores : 1 - cpu_to_core_ratio : 280 - exp_latency : 1 - -test_routing_imix : - multiplier : 0.5 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 - -test_static_routing_imix : - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 0.8 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 +test_jumbo: + multiplier : 2.8 + cores : 1 + bw_per_core : 66489 + + +test_routing_imix: + multiplier : 0.5 + cores : 1 + bw_per_core : 5530 + + +test_routing_imix_64: + multiplier : 28 + cores : 1 + bw_per_core : 859 + test_static_routing_imix_asymmetric: - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 0.8 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 - -test_ipv6_simple : - multiplier : 0.5 - cores : 1 - cpu_to_core_ratio : 30070000 - cpu2core_custom_dev: YES - cpu2core_dev : 0.07 + multiplier : 0.8 + cores : 1 + bw_per_core : 9635 -test_jumbo: - multiplier : 2.8 - cores : 1 \ No newline at end of file diff --git a/scripts/automation/regression/setups/trex25/benchmark.yaml b/scripts/automation/regression/setups/trex25/benchmark.yaml index bd0a7e03..57992f25 100644 --- a/scripts/automation/regression/setups/trex25/benchmark.yaml +++ b/scripts/automation/regression/setups/trex25/benchmark.yaml @@ -2,161 +2,120 @@ #### TRex benchmark configuration file #### ############################################################### -test_nbar_simple : - multiplier : 6 - cores : 1 - exp_gbps : 0.5 - cpu_to_core_ratio : 20800000 - cpu2core_custom_dev: YES - cpu2core_dev : 0.07 - exp_max_latency : 1000 - - nbar_classification: - http : 24.55 - rtp : 19.15 - sqlnet : 10.38 - secure-http : 5.11 - citrix : 4.68 - mapi : 4.04 - dns : 1.56 - sctp : 0.66 - smtp : 0.48 - pop3 : 0.30 - novadigm : 0.09 - sip : 0.08 - h323 : 0.05 - rtsp : 0.04 - unknown : 28.52 - -test_rx_check : - multiplier : 3.2 - cores : 1 - rx_sample_rate : 128 - exp_gbps : 0.5 - cpu_to_core_ratio : 37270000 - exp_bw : 1 - exp_latency : 1 - -test_nat_simple : &test_nat_simple - stat_route_dict : +#### common templates ### + +stat_route_dict: &stat_route_dict clients_start : 16.0.0.1 servers_start : 48.0.0.1 dual_port_mask : 1.0.0.0 client_destination_mask : 255.0.0.0 server_destination_mask : 255.0.0.0 - nat_dict : + +nat_dict: &nat_dict clients_net_start : 16.0.0.0 client_acl_wildcard_mask : 0.0.0.255 dual_port_mask : 1.0.0.0 pool_start : 200.0.0.0 pool_netmask : 255.255.255.0 - multiplier : 2200 - cores : 1 - cpu_to_core_ratio : 37270000 - exp_bw : 1 - exp_latency : 1 - allow_timeout_dev : YES - -test_nat_simple_mode1 : *test_nat_simple -test_nat_simple_mode2 : *test_nat_simple - -test_nat_learning : - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 2200 - cores : 1 - nat_opened : 40000 - cpu_to_core_ratio : 270 - exp_bw : 1 - exp_latency : 1 - allow_timeout_dev : YES - -test_routing_imix_64 : - multiplier : 600 - cores : 1 - cpu_to_core_ratio : 280 - exp_latency : 1 - -test_routing_imix : - multiplier : 4 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 - -test_static_routing_imix : - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 2.8 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 + + +### tests ### + +test_jumbo: + multiplier : 6 + cores : 1 + bw_per_core : 443970 + + +test_routing_imix: + multiplier : 4 + cores : 1 + bw_per_core : 26509 + + +test_routing_imix_64: + multiplier : 600 + cores : 1 + bw_per_core : 6391 + + +test_static_routing_imix: + stat_route_dict : *stat_route_dict + multiplier : 2.8 + cores : 1 + bw_per_core : 24510 + + test_static_routing_imix_asymmetric: - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 3.2 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 + stat_route_dict : *stat_route_dict + multiplier : 3.2 + cores : 1 + bw_per_core : 28229 + test_ipv6_simple: - multiplier : 6 - cores : 1 - cpu_to_core_ratio : 30070000 - cpu2core_custom_dev: YES - cpu2core_dev : 0.07 - - -test_rx_check_sfr: - multiplier : 6.8 - cores : 1 - rx_sample_rate : 16 - -test_rx_check_http: - multiplier : 8800 - cores : 1 - rx_sample_rate : 16 - -test_rx_check_sfr_ipv6: - multiplier : 6.8 - cores : 1 - rx_sample_rate : 16 - -test_rx_check_http_ipv6: - multiplier : 8800 - cores : 1 - rx_sample_rate : 16 - -test_rx_check_http_negative: - multiplier : 8800 - cores : 1 - rx_sample_rate : 16 - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - nat_dict : - clients_net_start : 16.0.0.0 - client_acl_wildcard_mask : 0.0.0.255 - dual_port_mask : 1.0.0.0 - pool_start : 200.0.0.0 - pool_netmask : 255.255.255.0 + multiplier : 6 + cores : 1 + bw_per_core : 19185 + + +test_nat_simple_mode1: &test_nat_simple + stat_route_dict : *stat_route_dict + nat_dict : *nat_dict + multiplier : 2200 + cores : 1 + bw_per_core : 32171 + +test_nat_simple_mode2: *test_nat_simple + +test_nat_learning: * test_nat_simple + nat_opened : 40000 + + +test_nbar_simple: + multiplier : 6 + cores : 1 + bw_per_core : 16645 + nbar_classification: + http : 24.55 + rtp : 19.15 + sqlnet : 10.38 + secure-http : 5.11 + citrix : 4.68 + mapi : 4.04 + dns : 1.56 + sctp : 0.66 + smtp : 0.48 + pop3 : 0.30 + novadigm : 0.09 + sip : 0.08 + h323 : 0.05 + rtsp : 0.04 + unknown : 28.52 + + +test_rx_check_http: &rx_http + multiplier : 8800 + cores : 1 + rx_sample_rate : 16 + bw_per_core : 31389 + +test_rx_check_http_ipv6: *rx_http + bw_per_core : 37114 + +test_rx_check_http_negative: *rx_http + stat_route_dict : *stat_route_dict + nat_dict : *nat_dict + + +test_rx_check_sfr: &rx_sfr + multiplier : 6.8 + cores : 1 + rx_sample_rate : 16 + bw_per_core : 16063 + +test_rx_check_sfr_ipv6: *rx_sfr + bw_per_core : 19663 -test_jumbo: - multiplier : 6 - cores : 1 diff --git a/scripts/automation/regression/stateful_tests/trex_general_test.py b/scripts/automation/regression/stateful_tests/trex_general_test.py index 94f680b6..2b66deb9 100755 --- a/scripts/automation/regression/stateful_tests/trex_general_test.py +++ b/scripts/automation/regression/stateful_tests/trex_general_test.py @@ -48,6 +48,7 @@ def tearDownModule(module): class CTRexGeneral_Test(unittest.TestCase): """This class defines the general stateful testcase of the T-Rex traffic generator""" def __init__ (self, *args, **kwargs): + sys.stdout.flush() unittest.TestCase.__init__(self, *args, **kwargs) if CTRexScenario.is_test_list: return @@ -338,7 +339,9 @@ class CTRexGeneral_Test(unittest.TestCase): except Exception as e: print("Can't get TRex log:", e) if len(self.fail_reasons): + sys.stdout.flush() raise Exception('The test is failed, reasons:\n%s' % '\n'.join(self.fail_reasons)) + sys.stdout.flush() def check_for_trex_crash(self): pass -- cgit 1.2.3-korg From 624f297a38dc6e3d3c4c4657819c8cc5f00127e4 Mon Sep 17 00:00:00 2001 From: Yaroslav Brustinov Date: Mon, 25 Apr 2016 11:09:41 +0300 Subject: regression: trex25 fix benchmark file --- scripts/automation/regression/setups/trex25/benchmark.yaml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'scripts/automation/regression/setups') diff --git a/scripts/automation/regression/setups/trex25/benchmark.yaml b/scripts/automation/regression/setups/trex25/benchmark.yaml index 57992f25..99acd269 100644 --- a/scripts/automation/regression/setups/trex25/benchmark.yaml +++ b/scripts/automation/regression/setups/trex25/benchmark.yaml @@ -69,7 +69,8 @@ test_nat_simple_mode1: &test_nat_simple test_nat_simple_mode2: *test_nat_simple -test_nat_learning: * test_nat_simple +test_nat_learning: + << : *test_nat_simple nat_opened : 40000 @@ -101,10 +102,12 @@ test_rx_check_http: &rx_http rx_sample_rate : 16 bw_per_core : 31389 -test_rx_check_http_ipv6: *rx_http +test_rx_check_http_ipv6: + << : *rx_http bw_per_core : 37114 -test_rx_check_http_negative: *rx_http +test_rx_check_http_negative: + << : *rx_http stat_route_dict : *stat_route_dict nat_dict : *nat_dict @@ -115,7 +118,8 @@ test_rx_check_sfr: &rx_sfr rx_sample_rate : 16 bw_per_core : 16063 -test_rx_check_sfr_ipv6: *rx_sfr +test_rx_check_sfr_ipv6: + << : *rx_sfr bw_per_core : 19663 -- cgit 1.2.3-korg From cf95553d952c3e6b515df6fb2a9790753762bf32 Mon Sep 17 00:00:00 2001 From: Yaroslav Brustinov Date: Mon, 25 Apr 2016 12:53:50 +0300 Subject: regression: add bw_per_core to kiwi02 and trex04 --- .../regression/setups/kiwi02/benchmark.yaml | 242 +++++++++------------ .../regression/setups/trex04/benchmark.yaml | 73 ++----- 2 files changed, 124 insertions(+), 191 deletions(-) (limited to 'scripts/automation/regression/setups') diff --git a/scripts/automation/regression/setups/kiwi02/benchmark.yaml b/scripts/automation/regression/setups/kiwi02/benchmark.yaml index f136a835..b7a22aca 100644 --- a/scripts/automation/regression/setups/kiwi02/benchmark.yaml +++ b/scripts/automation/regression/setups/kiwi02/benchmark.yaml @@ -1,154 +1,120 @@ -################################################################ -#### T-Rex benchmark configuration file #### -################################################################ - -test_nbar_simple : - multiplier : 20 - cores : 2 - exp_gbps : 4.5 - cpu_to_core_ratio : 37270000 - cpu2core_custom_dev: YES - cpu2core_dev : 0.07 - exp_max_latency : 1000 - - nbar_classification: - http : 30.41 - rtp_audio : 21.22 - rtp : 11.4 - oracle_sqlnet : 11.3 - exchange : 10.95 - citrix : 5.65 - rtsp : 2.67 - dns : 1.95 - smtp : 0.57 - pop3 : 0.36 - sctp : 0.09 - sip : 0.09 - ssl : 0.06 - unknown : 3.2 - -test_rx_check : - multiplier : 25 - cores : 4 - rx_sample_rate : 128 - exp_gbps : 0.5 - cpu_to_core_ratio : 37270000 - exp_bw : 1 - exp_latency : 1 - -test_nat_simple : &test_nat_simple - stat_route_dict : +############################################################### +#### TRex benchmark configuration file #### +############################################################### + +#### common templates ### + +stat_route_dict: &stat_route_dict clients_start : 16.0.0.1 servers_start : 48.0.0.1 dual_port_mask : 1.0.0.0 client_destination_mask : 255.0.0.0 server_destination_mask : 255.0.0.0 - nat_dict : + +nat_dict: &nat_dict clients_net_start : 16.0.0.0 client_acl_wildcard_mask : 0.0.0.255 dual_port_mask : 1.0.0.0 pool_start : 200.0.0.0 pool_netmask : 255.255.255.0 - multiplier : 10000 - cpu_to_core_ratio : 37270000 - cores : 1 - exp_bw : 1 - exp_latency : 1 - allow_timeout_dev : YES - -test_nat_simple_mode1 : *test_nat_simple -test_nat_simple_mode2 : *test_nat_simple - -test_nat_learning : - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 10000 - cores : 1 - nat_opened : 100000 - cpu_to_core_ratio : 37270000 - exp_bw : 1 - exp_latency : 1 - allow_timeout_dev : YES - -test_routing_imix_64 : - multiplier : 2500 - cores : 4 - cpu_to_core_ratio : 8900 - exp_latency : 1 - -test_routing_imix : - multiplier : 32 - cores : 2 - cpu_to_core_ratio : 8900 - exp_latency : 1 - -test_static_routing_imix : - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 32 - cores : 2 - cpu_to_core_ratio : 3766666 - exp_latency : 1 + + +### tests ### + +test_jumbo: + multiplier : 55 + cores : 1 + bw_per_core : 647305 + + +test_routing_imix: + multiplier : 32 + cores : 2 + bw_per_core : 39131 + + +test_routing_imix_64: + multiplier : 2500 + cores : 4 + bw_per_core : 7427 + + +test_static_routing_imix: + stat_route_dict : *stat_route_dict + multiplier : 32 + cores : 2 + bw_per_core : 39039 + test_static_routing_imix_asymmetric: - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 16 - cores : 1 - cpu_to_core_ratio : 3766666 - exp_latency : 1 - -test_ipv6_simple : - multiplier : 32 - cores : 4 - cpu_to_core_ratio : 30070000 - cpu2core_custom_dev: YES - cpu2core_dev : 0.07 - - -test_rx_check_sfr: - multiplier : 25 - cores : 4 - rx_sample_rate : 32 - error_tolerance : 0.01 - -test_rx_check_http: - multiplier : 40000 - cores : 2 - rx_sample_rate : 32 - error_tolerance : 0.01 + stat_route_dict : *stat_route_dict + multiplier : 16 + cores : 1 + bw_per_core : 38796 + + +test_ipv6_simple: + multiplier : 32 + cores : 4 + bw_per_core : 19283 + + +test_nat_simple_mode1: &test_nat_simple + stat_route_dict : *stat_route_dict + nat_dict : *nat_dict + multiplier : 10000 + cores : 1 + bw_per_core : 45304 + +test_nat_simple_mode2: *test_nat_simple + +test_nat_learning: + << : *test_nat_simple + nat_opened : 100000 + + +test_nbar_simple: + multiplier : 20 + cores : 2 + bw_per_core : 18243 + nbar_classification: + http : 30.41 + rtp_audio : 21.22 + rtp : 11.4 + oracle_sqlnet : 11.3 + exchange : 10.95 + citrix : 5.65 + rtsp : 2.67 + dns : 1.95 + smtp : 0.57 + pop3 : 0.36 + sctp : 0.09 + sip : 0.09 + ssl : 0.06 + unknown : 3.2 + + +test_rx_check_http: &rx_http + multiplier : 40000 + cores : 2 + rx_sample_rate : 32 + error_tolerance : 0.01 + bw_per_core : 38071 + +test_rx_check_http_ipv6: + << : *rx_http + bw_per_core : 46733 + + +test_rx_check_sfr: &rx_sfr + multiplier : 25 + cores : 4 + rx_sample_rate : 32 + error_tolerance : 0.01 + bw_per_core : 16915 test_rx_check_sfr_ipv6: - multiplier : 25 - cores : 4 - rx_sample_rate : 32 - error_tolerance : 0.01 + << : *rx_sfr + bw_per_core : 20323 -test_rx_check_http_ipv6: - multiplier : 40000 - cores : 2 - rx_sample_rate : 32 - error_tolerance : 0.01 - -#works badly on kiwi02, comment out for now -#test_rx_check_http_negative: -# multiplier : 40000 -# cores : 2 -# rx_sample_rate : 32 -# error_tolerance : 0.01 -test_jumbo: - multiplier : 55 - cores : 1 diff --git a/scripts/automation/regression/setups/trex04/benchmark.yaml b/scripts/automation/regression/setups/trex04/benchmark.yaml index e5459dce..9860a371 100644 --- a/scripts/automation/regression/setups/trex04/benchmark.yaml +++ b/scripts/automation/regression/setups/trex04/benchmark.yaml @@ -3,60 +3,27 @@ ################################################################ -test_rx_check : - multiplier : 0.8 - cores : 1 - rx_sample_rate : 128 - exp_gbps : 0.5 - cpu_to_core_ratio : 37270000 - exp_bw : 1 - exp_latency : 1 - - -test_routing_imix_64 : - multiplier : 28 - cores : 1 - cpu_to_core_ratio : 280 - exp_latency : 1 - -test_routing_imix : - multiplier : 0.5 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 - -test_static_routing_imix : - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 0.8 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 +test_jumbo: + multiplier : 2.8 + cores : 1 + bw_per_core : 106652 + + +test_routing_imix: + multiplier : 0.5 + cores : 1 + bw_per_core : 11577 + + +test_routing_imix_64: + multiplier : 28 + cores : 1 + bw_per_core : 2030 + test_static_routing_imix_asymmetric: - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 0.8 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 - -test_ipv6_simple : - multiplier : 0.5 - cores : 1 - cpu_to_core_ratio : 30070000 - cpu2core_custom_dev: YES - cpu2core_dev : 0.07 + multiplier : 0.8 + cores : 1 + bw_per_core : 13742 -test_jumbo: - multiplier : 2.8 - cores : 1 \ No newline at end of file -- cgit 1.2.3-korg From 8ee628825d3828df918470e8362cf0abc36b20c4 Mon Sep 17 00:00:00 2001 From: Yaroslav Brustinov Date: Mon, 25 Apr 2016 14:09:59 +0300 Subject: regression: add trex09 benchmark.yaml --- .../regression/setups/trex09/benchmark.yaml | 157 ++++++--------------- 1 file changed, 44 insertions(+), 113 deletions(-) (limited to 'scripts/automation/regression/setups') diff --git a/scripts/automation/regression/setups/trex09/benchmark.yaml b/scripts/automation/regression/setups/trex09/benchmark.yaml index 3f7b9a95..7de79c14 100644 --- a/scripts/automation/regression/setups/trex09/benchmark.yaml +++ b/scripts/automation/regression/setups/trex09/benchmark.yaml @@ -1,118 +1,49 @@ -############################################################### -#### TRex benchmark configuration file #### -############################################################### - -test_nbar_simple : - multiplier : 1.5 - cores : 1 - exp_gbps : 0.5 - cpu_to_core_ratio : 20800000 - cpu2core_custom_dev: YES - cpu2core_dev : 0.07 - exp_max_latency : 1000 - - nbar_classification: - http : 30.3 - rtp_audio : 21.06 - oracle_sqlnet : 11.25 - rtp : 11.1 - exchange : 10.16 - citrix : 5.6 - rtsp : 2.84 - sctp : 0.65 - ssl : 0.8 - sip : 0.09 - dns : 1.95 - smtp : 0.57 - pop3 : 0.36 - unknown : 3.19 - -test_rx_check : - multiplier : 0.8 - cores : 1 - rx_sample_rate : 128 - exp_gbps : 0.5 - cpu_to_core_ratio : 37270000 - exp_bw : 1 - exp_latency : 1 - -test_nat_simple : - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - nat_dict : - clients_net_start : 16.0.0.0 - client_acl_wildcard_mask : 0.0.0.255 - dual_port_mask : 1.0.0.0 - pool_start : 200.0.0.0 - pool_netmask : 255.255.255.0 - multiplier : 150 - cores : 1 - cpu_to_core_ratio : 37270000 - exp_bw : 1 - exp_latency : 1 - allow_timeout_dev : YES - -test_nat_learning : - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 150 - cores : 1 - nat_opened : 40000 - cpu_to_core_ratio : 270 - exp_bw : 1 - exp_latency : 1 - allow_timeout_dev : YES - -test_routing_imix_64 : - multiplier : 28 - cores : 1 - cpu_to_core_ratio : 280 - exp_latency : 1 - -test_routing_imix : - multiplier : 1 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 - -test_static_routing_imix : - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 0.7 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 +################################################################ +#### T-Rex benchmark configuration file #### +################################################################ + + +test_jumbo: + multiplier : 110 + cores : 1 + bw_per_core : 962464 + + +test_routing_imix: + multiplier : 64 + cores : 2 + bw_per_core : 55130 + + +test_routing_imix_64: + multiplier : 5000 + cores : 2 + bw_per_core : 11699 + test_static_routing_imix_asymmetric: - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 0.8 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 - -test_ipv6_simple : - multiplier : 1.5 - cores : 1 - cpu_to_core_ratio : 30070000 - cpu2core_custom_dev: YES - cpu2core_dev : 0.07 + multiplier : 32 + cores : 1 + bw_per_core : 50561 + + +test_ipv6_simple: + multiplier : 64 + cores : 4 + bw_per_core : 25948 + + +test_rx_check_http: + multiplier : 90000 + cores : 2 + rx_sample_rate : 32 + bw_per_core : 49464 + +test_rx_check_sfr: + multiplier : 50 + cores : 3 + rx_sample_rate : 32 + bw_per_core : 20871 -- cgit 1.2.3-korg From 9ff29ea023b24f7eeac0532a3fa49588a3e27094 Mon Sep 17 00:00:00 2001 From: Yaroslav Brustinov Date: Mon, 25 Apr 2016 16:30:14 +0300 Subject: regression: line removed by mistake from trex14 benchmark --- scripts/automation/regression/setups/trex14/benchmark.yaml | 1 + 1 file changed, 1 insertion(+) (limited to 'scripts/automation/regression/setups') diff --git a/scripts/automation/regression/setups/trex14/benchmark.yaml b/scripts/automation/regression/setups/trex14/benchmark.yaml index 2d78720e..6e611114 100644 --- a/scripts/automation/regression/setups/trex14/benchmark.yaml +++ b/scripts/automation/regression/setups/trex14/benchmark.yaml @@ -59,6 +59,7 @@ test_nat_simple_mode1: &test_nat_simple nat_dict : *nat_dict multiplier : 12000 cores : 1 + nat_opened : 40000 bw_per_core : 44445 test_nat_simple_mode2: *test_nat_simple -- cgit 1.2.3-korg From b3506d948743b9d81e75a4408fb493c6bcc0f0c5 Mon Sep 17 00:00:00 2001 From: Yaroslav Brustinov Date: Mon, 25 Apr 2016 17:30:55 +0300 Subject: regression: add trex12 configs --- .../regression/setups/trex12/benchmark.yaml | 180 ++++----------------- .../regression/setups/trex12/config.yaml | 30 +--- 2 files changed, 35 insertions(+), 175 deletions(-) (limited to 'scripts/automation/regression/setups') diff --git a/scripts/automation/regression/setups/trex12/benchmark.yaml b/scripts/automation/regression/setups/trex12/benchmark.yaml index 7985f15e..1f4e82b5 100644 --- a/scripts/automation/regression/setups/trex12/benchmark.yaml +++ b/scripts/automation/regression/setups/trex12/benchmark.yaml @@ -2,165 +2,53 @@ #### TRex benchmark configuration file #### ############################################################### -test_nbar_simple : - multiplier : 7.5 - cores : 2 - exp_gbps : 3.5 - cpu_to_core_ratio : 20800000 - cpu2core_custom_dev: YES - cpu2core_dev : 0.07 - exp_max_latency : 1000 - - nbar_classification: - http : 30.18 - rtp-audio : 21.27 - rtp : 11.26 - oracle_sqlnet : 11.2 - exchange : 10.78 - citrix : 5.61 - rtsp : 2.82 - dns : 1.94 - smtp : 0.57 - pop3 : 0.36 - ssl : 0.16 - sctp : 0.13 - sip : 0.09 - unknown : 3.54 - -test_rx_check : - multiplier : 13 - cores : 4 - rx_sample_rate : 128 - exp_gbps : 6 - cpu_to_core_ratio : 37270000 - exp_bw : 13 - exp_latency : 1 +test_jumbo: + multiplier : 14 + cores : 1 + bw_per_core : 540208 -test_nat_simple : - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - nat_dict : - clients_net_start : 16.0.0.0 - client_acl_wildcard_mask : 0.0.0.255 - dual_port_mask : 1.0.0.0 - pool_start : 200.0.0.0 - pool_netmask : 255.255.255.0 - multiplier : 12000 - cores : 1 - cpu_to_core_ratio : 37270000 - exp_bw : 1 - exp_latency : 1 - allow_timeout_dev : YES -test_nat_learning : - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 12000 - cores : 1 - nat_opened : 40000 - cpu_to_core_ratio : 270 - exp_bw : 8 - exp_latency : 1 - allow_timeout_dev : YES +test_routing_imix: + multiplier : 8 + cores : 1 + bw_per_core : 34128 -test_routing_imix_64 : - multiplier : 430 - cores : 1 - cpu_to_core_ratio : 280 - exp_latency : 1 -test_routing_imix : - multiplier : 10 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 +test_routing_imix_64: + multiplier : 2200 + cores : 1 + bw_per_core : 5893 -test_static_routing_imix : - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 10 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 test_static_routing_imix_asymmetric: - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - multiplier : 8 - cores : 1 - cpu_to_core_ratio : 1800 - exp_latency : 1 + multiplier : 4 + cores : 1 + bw_per_core : 34339 -test_ipv6_simple : - multiplier : 18 - cores : 4 - cpu_to_core_ratio : 30070000 - cpu2core_custom_dev: YES - cpu2core_dev : 0.07 +test_ipv6_simple: + multiplier : 8 + cores : 1 + bw_per_core : 19064 -test_rx_check_sfr: - multiplier : 15 - cores : 3 - rx_sample_rate : 16 - # allow 0.03% errors, bad router - error_tolerance : 0.03 -test_rx_check_http: - multiplier : 15000 - cores : 1 - rx_sample_rate : 16 - # allow 0.03% errors, bad router - error_tolerance : 0.03 - -test_rx_check_sfr_ipv6: - multiplier : 15 - cores : 3 - rx_sample_rate : 16 - # allow 0.03% errors, bad router - error_tolerance : 0.03 +test_rx_check_http: &rx_http + multiplier : 11000 + cores : 1 + rx_sample_rate : 16 + bw_per_core : 39560 test_rx_check_http_ipv6: - multiplier : 15000 - cores : 1 - rx_sample_rate : 16 - # allow 0.03% errors, bad router - error_tolerance : 0.03 + << : *rx_http + bw_per_core : 49237 -test_rx_check_http_negative: - multiplier : 13000 - cores : 1 - rx_sample_rate : 16 - stat_route_dict : - clients_start : 16.0.0.1 - servers_start : 48.0.0.1 - dual_port_mask : 1.0.0.0 - client_destination_mask : 255.0.0.0 - server_destination_mask : 255.0.0.0 - nat_dict : - clients_net_start : 16.0.0.0 - client_acl_wildcard_mask : 0.0.0.255 - dual_port_mask : 1.0.0.0 - pool_start : 200.0.0.0 - pool_netmask : 255.255.255.0 +test_rx_check_sfr: &rx_sfr + multiplier : 8 + cores : 1 + rx_sample_rate : 16 + bw_per_core : 16082 -test_jumbo: - multiplier : 28 - cores : 1 +test_rx_check_sfr_ipv6: + << : *rx_sfr + bw_per_core : 19198 diff --git a/scripts/automation/regression/setups/trex12/config.yaml b/scripts/automation/regression/setups/trex12/config.yaml index af17db45..56471ac7 100644 --- a/scripts/automation/regression/setups/trex12/config.yaml +++ b/scripts/automation/regression/setups/trex12/config.yaml @@ -35,34 +35,6 @@ trex: hostname : csi-trex-12 -# version_path : /auto/proj-pcube-b/apps/PL-b/tools/bp_sim2/v1.57/ #/auto/srg-sce-swinfra-usr/emb/users/danklei/Work/asr1k/emb/private/bpsim/main/scripts cores : 1 - modes : [VM] + modes : ['loopback', '1G'] -router: - model : ASR1001x - hostname : csi-asr-01 - ip_address : 10.56.216.103 - image : asr1001x-universalk9_npe.BLD_V155_2_S_XE315_THROTTLE_LATEST_20151121_110441-std_2.SSA.bin - line_password : cisco - en_password : cisco - mgmt_interface : GigabitEthernet0 - clean_config : /Configurations/danklei/asr1001_TRex_clean_config.cfg - intf_masking : 255.255.255.0 - ipv6_mask : 64 - interfaces : - - client : - name : Te0/0/0 - src_mac_addr : 0000.0001.0000 - dest_mac_addr : 0000.0001.0000 - server : - name : Te0/0/1 - src_mac_addr : 0000.0001.0000 - dest_mac_addr : 0000.0001.0000 - vrf_name : null - -tftp: - hostname : ats-asr-srv-1 - ip_address : 10.56.128.23 - root_dir : /auto/avc-devtest/ - images_path : /images/RP2/ -- cgit 1.2.3-korg From 3d54c567d7bf2f75295e57cf8f903a7bf163b698 Mon Sep 17 00:00:00 2001 From: Yaroslav Brustinov Date: Tue, 26 Apr 2016 02:08:17 +0300 Subject: regression: return back allow_timeout_dev --- scripts/automation/regression/setups/kiwi02/benchmark.yaml | 1 + scripts/automation/regression/setups/trex-dan/benchmark.yaml | 1 + scripts/automation/regression/setups/trex14/benchmark.yaml | 1 + scripts/automation/regression/setups/trex25/benchmark.yaml | 1 + 4 files changed, 4 insertions(+) (limited to 'scripts/automation/regression/setups') diff --git a/scripts/automation/regression/setups/kiwi02/benchmark.yaml b/scripts/automation/regression/setups/kiwi02/benchmark.yaml index b7a22aca..def062dc 100644 --- a/scripts/automation/regression/setups/kiwi02/benchmark.yaml +++ b/scripts/automation/regression/setups/kiwi02/benchmark.yaml @@ -64,6 +64,7 @@ test_nat_simple_mode1: &test_nat_simple nat_dict : *nat_dict multiplier : 10000 cores : 1 + allow_timeout_dev : True bw_per_core : 45304 test_nat_simple_mode2: *test_nat_simple diff --git a/scripts/automation/regression/setups/trex-dan/benchmark.yaml b/scripts/automation/regression/setups/trex-dan/benchmark.yaml index 77406880..fde94f94 100644 --- a/scripts/automation/regression/setups/trex-dan/benchmark.yaml +++ b/scripts/automation/regression/setups/trex-dan/benchmark.yaml @@ -64,6 +64,7 @@ test_nat_simple_mode1: &test_nat_simple nat_dict : *nat_dict multiplier : 550 cores : 1 + allow_timeout_dev : True bw_per_core : 7465 test_nat_simple_mode2: *test_nat_simple diff --git a/scripts/automation/regression/setups/trex14/benchmark.yaml b/scripts/automation/regression/setups/trex14/benchmark.yaml index 6e611114..8da359db 100644 --- a/scripts/automation/regression/setups/trex14/benchmark.yaml +++ b/scripts/automation/regression/setups/trex14/benchmark.yaml @@ -60,6 +60,7 @@ test_nat_simple_mode1: &test_nat_simple multiplier : 12000 cores : 1 nat_opened : 40000 + allow_timeout_dev : True bw_per_core : 44445 test_nat_simple_mode2: *test_nat_simple diff --git a/scripts/automation/regression/setups/trex25/benchmark.yaml b/scripts/automation/regression/setups/trex25/benchmark.yaml index 99acd269..df9eaef3 100644 --- a/scripts/automation/regression/setups/trex25/benchmark.yaml +++ b/scripts/automation/regression/setups/trex25/benchmark.yaml @@ -65,6 +65,7 @@ test_nat_simple_mode1: &test_nat_simple nat_dict : *nat_dict multiplier : 2200 cores : 1 + allow_timeout_dev : True bw_per_core : 32171 test_nat_simple_mode2: *test_nat_simple -- cgit 1.2.3-korg From cb55f42f183e631aec06ecb7d1ad953ad71b57d2 Mon Sep 17 00:00:00 2001 From: Yaroslav Brustinov Date: Tue, 26 Apr 2016 05:32:09 +0300 Subject: stateful api: fix filter max latency regression: fix bw_per_core at trex09 based on regression --- .../regression/setups/trex09/benchmark.yaml | 14 +++++----- .../stf/trex_stf_lib/trex_client.py | 30 ++++++++++------------ 2 files changed, 21 insertions(+), 23 deletions(-) (limited to 'scripts/automation/regression/setups') diff --git a/scripts/automation/regression/setups/trex09/benchmark.yaml b/scripts/automation/regression/setups/trex09/benchmark.yaml index 7de79c14..bb90acb0 100644 --- a/scripts/automation/regression/setups/trex09/benchmark.yaml +++ b/scripts/automation/regression/setups/trex09/benchmark.yaml @@ -6,44 +6,44 @@ test_jumbo: multiplier : 110 cores : 1 - bw_per_core : 962464 + bw_per_core : 767198 test_routing_imix: multiplier : 64 cores : 2 - bw_per_core : 55130 + bw_per_core : 35889 test_routing_imix_64: multiplier : 5000 cores : 2 - bw_per_core : 11699 + bw_per_core : 10672 test_static_routing_imix_asymmetric: multiplier : 32 cores : 1 - bw_per_core : 50561 + bw_per_core : 52738 test_ipv6_simple: multiplier : 64 cores : 4 - bw_per_core : 25948 + bw_per_core : 22808 test_rx_check_http: multiplier : 90000 cores : 2 rx_sample_rate : 32 - bw_per_core : 49464 + bw_per_core : 46075 test_rx_check_sfr: multiplier : 50 cores : 3 rx_sample_rate : 32 - bw_per_core : 20871 + bw_per_core : 20469 diff --git a/scripts/automation/trex_control_plane/stf/trex_stf_lib/trex_client.py b/scripts/automation/trex_control_plane/stf/trex_stf_lib/trex_client.py index f5887120..7f241620 100755 --- a/scripts/automation/trex_control_plane/stf/trex_stf_lib/trex_client.py +++ b/scripts/automation/trex_control_plane/stf/trex_stf_lib/trex_client.py @@ -1289,26 +1289,24 @@ class CTRexResult(object): def __get_filtered_max_latency (src_dict, filtered_latency_amount = 0.001): result = {} for port, data in src_dict.items(): - if port.startswith('port-'): - max_port = 'max-%s' % port[5:] - res = data['hist'] - if not len(res['histogram']): - result[max_port] = 0 - continue - hist_last_keys = deque([res['histogram'][-1]['key']], maxlen = 2) - sum_high = 0.0 - for elem in reversed(res['histogram']): - sum_high += elem['val'] - hist_last_keys.append(elem['key']) - if sum_high >= filtered_latency_amount * res['cnt']: - break - result[max_port] = (hist_last_keys[0] + hist_last_keys[-1]) / 2 - else: - return {} + if not port.startswith('port-'): + continue + max_port = 'max-%s' % port[5:] + res = data['hist'] + if not len(res['histogram']): + result[max_port] = 0 + continue + sum_high = 0.0 + for elem in reversed(res['histogram']): + sum_high += elem['val'] + if sum_high >= filtered_latency_amount * res['cnt']: + result[max_port] = elem['key'] + int('5' + repr(elem['key'])[2:]) + break return result + if __name__ == "__main__": pass -- cgit 1.2.3-korg From c04b8b0dfa97c0eae40e4dc35b7cc223c2fb85e6 Mon Sep 17 00:00:00 2001 From: Yaroslav Brustinov Date: Wed, 27 Apr 2016 23:27:34 +0300 Subject: regression: stateless CPU benchmark for profiles --- .../regression/setups/kiwi02/benchmark.yaml | 126 +++++++++++++++++- .../regression/setups/trex-dan/benchmark.yaml | 126 +++++++++++++++++- .../regression/setups/trex04/benchmark.yaml | 137 +++++++++++++++++++ .../regression/setups/trex08/benchmark.yaml | 125 ++++++++++++++++++ .../regression/setups/trex09/benchmark.yaml | 125 ++++++++++++++++++ .../regression/setups/trex11/config.yaml | 33 +---- .../regression/setups/trex12/benchmark.yaml | 145 +++++++++++++++++++-- .../regression/setups/trex14/benchmark.yaml | 123 ++++++++++++++++- .../regression/setups/trex17/benchmark.yaml | 125 ++++++++++++++++++ .../regression/setups/trex25/benchmark.yaml | 125 +++++++++++++++++- .../stateless_tests/stl_benchmark_test.py | 46 +++++++ scripts/stl/hlt/hlt_udp_rand_len_9k.py | 31 +++++ scripts/stl/udp_1pkt_simple.py | 25 ++-- scripts/stl/udp_1pkt_tuple_gen.py | 12 +- 14 files changed, 1240 insertions(+), 64 deletions(-) create mode 100755 scripts/automation/regression/stateless_tests/stl_benchmark_test.py create mode 100755 scripts/stl/hlt/hlt_udp_rand_len_9k.py (limited to 'scripts/automation/regression/setups') diff --git a/scripts/automation/regression/setups/kiwi02/benchmark.yaml b/scripts/automation/regression/setups/kiwi02/benchmark.yaml index def062dc..49d86003 100644 --- a/scripts/automation/regression/setups/kiwi02/benchmark.yaml +++ b/scripts/automation/regression/setups/kiwi02/benchmark.yaml @@ -19,7 +19,7 @@ nat_dict: &nat_dict pool_netmask : 255.255.255.0 -### tests ### +### stateful ### test_jumbo: multiplier : 55 @@ -119,3 +119,127 @@ test_rx_check_sfr_ipv6: bw_per_core : 20323 + +### stateless ### + +test_CPU_benchmark: + profiles: + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, packet_count: 10} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, packet_count: 100} + cpu_util : 1 + bw_per_core : 1 + +# causes queue full +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 64, packet_count: 1000} +# cpu_util : 1 +# bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 128} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 256} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 512} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 1500} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 4000} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_count: 10} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_count: 100} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_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 + + diff --git a/scripts/automation/regression/setups/trex-dan/benchmark.yaml b/scripts/automation/regression/setups/trex-dan/benchmark.yaml index fde94f94..255fd1ba 100644 --- a/scripts/automation/regression/setups/trex-dan/benchmark.yaml +++ b/scripts/automation/regression/setups/trex-dan/benchmark.yaml @@ -19,7 +19,7 @@ nat_dict: &nat_dict pool_netmask : 255.255.255.0 -### tests ### +### stateful ### test_jumbo: multiplier : 2.8 @@ -124,3 +124,127 @@ test_rx_check_sfr_ipv6: bw_per_core : 4773 + +### stateless ### + +test_CPU_benchmark: + profiles: + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, packet_count: 10} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, packet_count: 100} + cpu_util : 1 + bw_per_core : 1 + +# causes queue full +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 64, packet_count: 1000} +# cpu_util : 1 +# bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 128} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 256} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 512} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 1500} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 4000} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_count: 10} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_count: 100} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_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 + + diff --git a/scripts/automation/regression/setups/trex04/benchmark.yaml b/scripts/automation/regression/setups/trex04/benchmark.yaml index 9860a371..bebaef07 100644 --- a/scripts/automation/regression/setups/trex04/benchmark.yaml +++ b/scripts/automation/regression/setups/trex04/benchmark.yaml @@ -2,6 +2,7 @@ #### T-Rex benchmark configuration file #### ################################################################ +### stateful ### test_jumbo: multiplier : 2.8 @@ -27,3 +28,139 @@ test_static_routing_imix_asymmetric: bw_per_core : 13742 +test_CPU_benchmark: + profiles: + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 128} + cpu_util : 1 + bw_per_core : 1 + + +### stateless ### + +test_CPU_benchmark: + profiles: + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, packet_count: 10} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, packet_count: 100} + cpu_util : 1 + bw_per_core : 1 + +# causes queue full +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 64, packet_count: 1000} +# cpu_util : 1 +# bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 128} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 256} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 512} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 1500} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 4000} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_count: 10} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_count: 100} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_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 + + diff --git a/scripts/automation/regression/setups/trex08/benchmark.yaml b/scripts/automation/regression/setups/trex08/benchmark.yaml index 79f727cc..19749848 100644 --- a/scripts/automation/regression/setups/trex08/benchmark.yaml +++ b/scripts/automation/regression/setups/trex08/benchmark.yaml @@ -2,6 +2,7 @@ #### TRex benchmark configuration file #### ############################################################### +### stateful ### test_jumbo: multiplier : 150 @@ -47,3 +48,127 @@ test_rx_check_sfr: bw_per_core : 20871 + +### stateless ### + +test_CPU_benchmark: + profiles: + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, packet_count: 10} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, packet_count: 100} + cpu_util : 1 + bw_per_core : 1 + +# causes queue full +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 64, packet_count: 1000} +# cpu_util : 1 +# bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 128} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 256} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 512} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 1500} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 4000} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_count: 10} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_count: 100} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_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 + + diff --git a/scripts/automation/regression/setups/trex09/benchmark.yaml b/scripts/automation/regression/setups/trex09/benchmark.yaml index bb90acb0..b5397a9f 100644 --- a/scripts/automation/regression/setups/trex09/benchmark.yaml +++ b/scripts/automation/regression/setups/trex09/benchmark.yaml @@ -2,6 +2,7 @@ #### T-Rex benchmark configuration file #### ################################################################ +### stateful ### test_jumbo: multiplier : 110 @@ -47,3 +48,127 @@ test_rx_check_sfr: bw_per_core : 20469 + +### stateless ### + +test_CPU_benchmark: + profiles: + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, packet_count: 10} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, packet_count: 100} + cpu_util : 1 + bw_per_core : 1 + +# causes queue full +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 64, packet_count: 1000} +# cpu_util : 1 +# bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 128} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 256} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 512} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 1500} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 4000} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_count: 10} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_count: 100} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_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 + + diff --git a/scripts/automation/regression/setups/trex11/config.yaml b/scripts/automation/regression/setups/trex11/config.yaml index 876a1afd..7bb5b6d4 100644 --- a/scripts/automation/regression/setups/trex11/config.yaml +++ b/scripts/automation/regression/setups/trex11/config.yaml @@ -34,36 +34,5 @@ trex: hostname : csi-trex-11 - cores : 2 + cores : 1 modes : ['loopback', 'virtual'] - -router: - model : 1RU - hostname : ASR1001_T-Rex -# ip_address : 10.56.199.247 - ip_address : 10.56.199.247123123123 - image : asr1001-universalk9.BLD_V155_1_S_XE314_THROTTLE_LATEST_20141112_090734-std.bin - #image : asr1001-universalk9.BLD_V155_2_S_XE315_THROTTLE_LATEST_20150121_110036-std.bin - #image : asr1001-universalk9.BLD_V155_2_S_XE315_THROTTLE_LATEST_20150324_100047-std.bin - line_password : lab - en_password : lab - mgmt_interface : GigabitEthernet0/0/0 - clean_config : /Configurations/danklei/asr1001_TRex_clean_config.cfg - intf_masking : 255.255.255.0 - ipv6_mask : 64 - interfaces : - - client : - name : GigabitEthernet0/0/1 - src_mac_addr : 0000.0001.0000 - dest_mac_addr : 0000.0001.0000 - server : - name : GigabitEthernet0/0/2 - src_mac_addr : 0000.0001.0000 - dest_mac_addr : 0000.0001.0000 - vrf_name : null - -tftp: - hostname : ats-asr-srv-1 - ip_address : 10.56.128.23 - root_dir : /auto/avc-devtest/ - images_path : /images/1RU/ diff --git a/scripts/automation/regression/setups/trex12/benchmark.yaml b/scripts/automation/regression/setups/trex12/benchmark.yaml index 1f4e82b5..5a30214c 100644 --- a/scripts/automation/regression/setups/trex12/benchmark.yaml +++ b/scripts/automation/regression/setups/trex12/benchmark.yaml @@ -2,53 +2,180 @@ #### TRex benchmark configuration file #### ############################################################### +### stateful ### + test_jumbo: multiplier : 14 cores : 1 - bw_per_core : 540208 + bw_per_core : 689664 test_routing_imix: multiplier : 8 cores : 1 - bw_per_core : 34128 + bw_per_core : 45422 test_routing_imix_64: multiplier : 2200 cores : 1 - bw_per_core : 5893 + bw_per_core : 11655 test_static_routing_imix_asymmetric: multiplier : 4 cores : 1 - bw_per_core : 34339 + bw_per_core : 45294 test_ipv6_simple: multiplier : 8 cores : 1 - bw_per_core : 19064 + bw_per_core : 29332 test_rx_check_http: &rx_http multiplier : 11000 cores : 1 rx_sample_rate : 16 - bw_per_core : 39560 + bw_per_core : 47813 test_rx_check_http_ipv6: << : *rx_http - bw_per_core : 49237 + bw_per_core : 55607 test_rx_check_sfr: &rx_sfr multiplier : 8 cores : 1 rx_sample_rate : 16 - bw_per_core : 16082 + bw_per_core : 24203 test_rx_check_sfr_ipv6: << : *rx_sfr - bw_per_core : 19198 + bw_per_core : 28867 + + +### stateless ### + +test_CPU_benchmark: + profiles: + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, packet_count: 10} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, packet_count: 100} + cpu_util : 1 + bw_per_core : 1 + +# causes queue full +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 64, packet_count: 1000} +# cpu_util : 1 +# bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 128} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 256} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 512} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 1500} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 4000} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_count: 10} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_count: 100} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_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 + + diff --git a/scripts/automation/regression/setups/trex14/benchmark.yaml b/scripts/automation/regression/setups/trex14/benchmark.yaml index 8da359db..5857cd2c 100644 --- a/scripts/automation/regression/setups/trex14/benchmark.yaml +++ b/scripts/automation/regression/setups/trex14/benchmark.yaml @@ -19,7 +19,7 @@ nat_dict: &nat_dict pool_netmask : 255.255.255.0 -### tests ### +### stateful ### test_jumbo: multiplier : 17 @@ -119,5 +119,126 @@ test_rx_check_sfr_ipv6: +### stateless ### + +test_CPU_benchmark: + profiles: + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, packet_count: 10} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, packet_count: 100} + cpu_util : 1 + bw_per_core : 1 + +# causes queue full +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 64, packet_count: 1000} +# cpu_util : 1 +# bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 128} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 256} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 512} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 1500} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 4000} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_count: 10} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_count: 100} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_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 diff --git a/scripts/automation/regression/setups/trex17/benchmark.yaml b/scripts/automation/regression/setups/trex17/benchmark.yaml index 60860f54..1d792fe5 100644 --- a/scripts/automation/regression/setups/trex17/benchmark.yaml +++ b/scripts/automation/regression/setups/trex17/benchmark.yaml @@ -2,6 +2,7 @@ #### T-Rex benchmark configuration file #### ################################################################ +### stateful ### test_jumbo: multiplier : 2.8 @@ -27,3 +28,127 @@ test_static_routing_imix_asymmetric: bw_per_core : 9635 + +### stateless ### + +test_CPU_benchmark: + profiles: + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, packet_count: 10} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, packet_count: 100} + cpu_util : 1 + bw_per_core : 1 + +# causes queue full +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 64, packet_count: 1000} +# cpu_util : 1 +# bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 128} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 256} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 512} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 1500} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 4000} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_count: 10} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_count: 100} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_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 + + diff --git a/scripts/automation/regression/setups/trex25/benchmark.yaml b/scripts/automation/regression/setups/trex25/benchmark.yaml index df9eaef3..6a0021de 100644 --- a/scripts/automation/regression/setups/trex25/benchmark.yaml +++ b/scripts/automation/regression/setups/trex25/benchmark.yaml @@ -19,7 +19,7 @@ nat_dict: &nat_dict pool_netmask : 255.255.255.0 -### tests ### +### stateful ### test_jumbo: multiplier : 6 @@ -124,3 +124,126 @@ test_rx_check_sfr_ipv6: bw_per_core : 19663 +### stateless ### + +test_CPU_benchmark: + profiles: + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, packet_count: 10} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 64, packet_count: 100} + cpu_util : 1 + bw_per_core : 1 + +# causes queue full +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 64, packet_count: 1000} +# cpu_util : 1 +# bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 128} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 256} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 512} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 1500} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 4000} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_count: 10} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_count: 100} + cpu_util : 1 + bw_per_core : 1 + + - name : stl/udp_1pkt_simple.py + kwargs : {packet_len: 9000, packet_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 + + diff --git a/scripts/automation/regression/stateless_tests/stl_benchmark_test.py b/scripts/automation/regression/stateless_tests/stl_benchmark_test.py new file mode 100755 index 00000000..65efa55e --- /dev/null +++ b/scripts/automation/regression/stateless_tests/stl_benchmark_test.py @@ -0,0 +1,46 @@ +#!/router/bin/python +from .stl_general_test import CStlGeneral_Test, CTRexScenario +from trex_stl_lib.api import * +import os, sys +from collections import deque +from time import time, sleep + +class STLBenchmark_Test(CStlGeneral_Test): + """Benchark stateless performance""" + + def test_CPU_benchmark(self): + timeout = 30 # max time to wait for stabilization + stabilize = 5 # ensure stabilization over this period + + for profile_bench in self.get_benchmark_param('profiles'): + cpu_utils = deque([0] * stabilize, maxlen = stabilize) + kwargs = profile_bench.get('kwargs', {}) + print('Testing profile %s, kwargs: %s' % (profile_bench['name'], kwargs)) + profile = STLProfile.load(os.path.join(CTRexScenario.scripts_path, profile_bench['name']), port_id = 0, **kwargs) + + self.stl_trex.reset() + self.stl_trex.clear_stats() + self.stl_trex.add_streams(profile, ports = [0, 1]) + self.stl_trex.start(ports = [0, 1], mult = '10%') + start_time = time() + + for i in range(timeout + 1): + stats = self.stl_trex.get_stats() + cpu_utils.append(stats['global']['cpu_util']) + print stats['global']['cpu_util'] + if i > stabilize and min(cpu_utils) > max(cpu_utils) * 0.98 - 0.1: + break + sleep(0.5) + + if i == timeout: + raise Exception('Timeout on waiting for stabilization, CPU util values: %s' % cpu_utils) + if stats[0]['opackets'] < 10000 or stats[1]['opackets'] < 10000: + raise Exception('Too few opackets, port0: %s, port1: %s' % (stats[0]['opackets'], stats[1]['opackets'])) + print stats['global'] + if stats['global']['queue_full'] > 100000: + raise Exception('Too much queue_full: %s' % stats['global']['queue_full']) + + bw_per_core = 100 * stats['global']['tx_bps'] / cpu_utils[-1] / 1e6 + print('Done (%ss), CPU util: %4g, bw_per_core: %6sMb/core' % (int(time() - start_time), cpu_utils[-1], int(bw_per_core))) + + diff --git a/scripts/stl/hlt/hlt_udp_rand_len_9k.py b/scripts/stl/hlt/hlt_udp_rand_len_9k.py new file mode 100755 index 00000000..1966823c --- /dev/null +++ b/scripts/stl/hlt/hlt_udp_rand_len_9k.py @@ -0,0 +1,31 @@ +from trex_stl_lib.trex_stl_hltapi import STLHltStream + + +class STLS1(object): + ''' + Create Eth/IP/UDP steam with random packet size (L3 size from 50 to 9*1024) + ''' + + def get_streams (self, direction = 0, **kwargs): + min_size = 50 + max_size = 9*1024 + return [STLHltStream(length_mode = 'random', + l3_length_min = min_size, + l3_length_max = max_size, + l3_protocol = 'ipv4', + ip_src_addr = '16.0.0.1', + ip_dst_addr = '48.0.0.1', + l4_protocol = 'udp', + udp_src_port = 1025, + udp_dst_port = 12, + rate_pps = 1000, + ignore_macs = True, + ) + ] + +# dynamic load - used for trex console or simulator +def register(): + return STLS1() + + + diff --git a/scripts/stl/udp_1pkt_simple.py b/scripts/stl/udp_1pkt_simple.py index 0407f9c9..b84626a1 100644 --- a/scripts/stl/udp_1pkt_simple.py +++ b/scripts/stl/udp_1pkt_simple.py @@ -2,18 +2,21 @@ from trex_stl_lib.api import * class STLS1(object): - def create_stream (self): - return STLStream( - packet = - STLPktBuilder( - pkt = Ether()/IP(src="16.0.0.1",dst="48.0.0.1")/ - UDP(dport=12,sport=1025)/(10*'x') - ), - mode = STLTXCont()) - - def get_streams (self, direction = 0, **kwargs): + def create_stream (self, packet_len, packet_count): + base_pkt = Ether()/IP(src="16.0.0.1",dst="48.0.0.1")/UDP(dport=12,sport=1025) + base_pkt_len = len(base_pkt) + base_pkt /= 'x' * max(0, packet_len - base_pkt_len) + packets = [] + for i in range(packet_count): + packets.append(STLStream( + packet = STLPktBuilder(pkt = base_pkt), + mode = STLTXCont() + )) + return packets + + def get_streams (self, direction = 0, packet_len = 64, packet_count = 1, **kwargs): # create 1 stream - return [ self.create_stream() ] + return self.create_stream(packet_len - 4, packet_count) # dynamic load - used for trex console or simulator diff --git a/scripts/stl/udp_1pkt_tuple_gen.py b/scripts/stl/udp_1pkt_tuple_gen.py index be8620c8..4e9ab12d 100644 --- a/scripts/stl/udp_1pkt_tuple_gen.py +++ b/scripts/stl/udp_1pkt_tuple_gen.py @@ -2,16 +2,12 @@ from trex_stl_lib.api import * class STLS1(object): - def __init__ (self): - self.fsize =64; - - def create_stream (self): + def create_stream (self, packet_len): # create a base packet and pad it to size - size = self.fsize - 4; # no FCS base_pkt = Ether()/IP(src="16.0.0.1",dst="48.0.0.1")/UDP(dport=12,sport=1025) - pad = max(0, size - len(base_pkt)) * 'x' + pad = max(0, packet_len - len(base_pkt)) * 'x' vm = STLScVmRaw( [ STLVmTupleGen ( ip_min="16.0.0.1", ip_max="16.0.0.2", port_min=1025, port_max=65535, @@ -31,9 +27,9 @@ class STLS1(object): - def get_streams (self, direction = 0, **kwargs): + def get_streams (self, direction = 0, packet_len = 64, **kwargs): # create 1 stream - return [ self.create_stream() ] + return [ self.create_stream(packet_len - 4) ] # dynamic load - used for trex console or simulator -- cgit 1.2.3-korg From 798efac6db9d057073dae13b818815422ae926cc Mon Sep 17 00:00:00 2001 From: Yaroslav Brustinov Date: Thu, 28 Apr 2016 13:49:24 +0300 Subject: regression: slight fix to stl benchmark test --- scripts/automation/regression/setups/kiwi02/benchmark.yaml | 9 +++++---- scripts/automation/regression/setups/trex-dan/benchmark.yaml | 9 +++++---- scripts/automation/regression/setups/trex04/benchmark.yaml | 11 ++++++----- scripts/automation/regression/setups/trex08/benchmark.yaml | 9 +++++---- scripts/automation/regression/setups/trex09/benchmark.yaml | 9 +++++---- scripts/automation/regression/setups/trex12/benchmark.yaml | 9 +++++---- scripts/automation/regression/setups/trex14/benchmark.yaml | 9 +++++---- scripts/automation/regression/setups/trex17/benchmark.yaml | 9 +++++---- scripts/automation/regression/setups/trex25/benchmark.yaml | 9 +++++---- .../regression/stateless_tests/stl_benchmark_test.py | 7 +++++-- 10 files changed, 51 insertions(+), 39 deletions(-) (limited to 'scripts/automation/regression/setups') diff --git a/scripts/automation/regression/setups/kiwi02/benchmark.yaml b/scripts/automation/regression/setups/kiwi02/benchmark.yaml index 49d86003..f6ad8e9a 100644 --- a/scripts/automation/regression/setups/kiwi02/benchmark.yaml +++ b/scripts/automation/regression/setups/kiwi02/benchmark.yaml @@ -185,10 +185,11 @@ test_CPU_benchmark: cpu_util : 1 bw_per_core : 1 - - name : stl/udp_1pkt_simple.py - kwargs : {packet_len: 9000, packet_count: 1000} - cpu_util : 1 - bw_per_core : 1 +# not enough memory + queue full if memory increase +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 9000, packet_count: 1000} +# cpu_util : 1 +# bw_per_core : 1 - name : stl/imix.py cpu_util : 1 diff --git a/scripts/automation/regression/setups/trex-dan/benchmark.yaml b/scripts/automation/regression/setups/trex-dan/benchmark.yaml index 255fd1ba..d2af373c 100644 --- a/scripts/automation/regression/setups/trex-dan/benchmark.yaml +++ b/scripts/automation/regression/setups/trex-dan/benchmark.yaml @@ -190,10 +190,11 @@ test_CPU_benchmark: cpu_util : 1 bw_per_core : 1 - - name : stl/udp_1pkt_simple.py - kwargs : {packet_len: 9000, packet_count: 1000} - cpu_util : 1 - bw_per_core : 1 +# not enough memory + queue full if memory increase +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 9000, packet_count: 1000} +# cpu_util : 1 +# bw_per_core : 1 - name : stl/imix.py cpu_util : 1 diff --git a/scripts/automation/regression/setups/trex04/benchmark.yaml b/scripts/automation/regression/setups/trex04/benchmark.yaml index bebaef07..e3a477f5 100644 --- a/scripts/automation/regression/setups/trex04/benchmark.yaml +++ b/scripts/automation/regression/setups/trex04/benchmark.yaml @@ -106,10 +106,11 @@ test_CPU_benchmark: cpu_util : 1 bw_per_core : 1 - - name : stl/udp_1pkt_simple.py - kwargs : {packet_len: 9000, packet_count: 1000} - cpu_util : 1 - bw_per_core : 1 +# not enough memory + queue full if memory increase +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 9000, packet_count: 1000} +# cpu_util : 1 +# bw_per_core : 1 - name : stl/imix.py cpu_util : 1 @@ -151,7 +152,7 @@ test_CPU_benchmark: bw_per_core : 1 - name : stl/pcap.py - kwargs : {ipg_usec: 2, loop_count: 0} + kwargs : {ipg_usec: 4, loop_count: 0} cpu_util : 1 bw_per_core : 1 diff --git a/scripts/automation/regression/setups/trex08/benchmark.yaml b/scripts/automation/regression/setups/trex08/benchmark.yaml index 19749848..97db6598 100644 --- a/scripts/automation/regression/setups/trex08/benchmark.yaml +++ b/scripts/automation/regression/setups/trex08/benchmark.yaml @@ -114,10 +114,11 @@ test_CPU_benchmark: cpu_util : 1 bw_per_core : 1 - - name : stl/udp_1pkt_simple.py - kwargs : {packet_len: 9000, packet_count: 1000} - cpu_util : 1 - bw_per_core : 1 +# not enough memory + queue full if memory increase +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 9000, packet_count: 1000} +# cpu_util : 1 +# bw_per_core : 1 - name : stl/imix.py cpu_util : 1 diff --git a/scripts/automation/regression/setups/trex09/benchmark.yaml b/scripts/automation/regression/setups/trex09/benchmark.yaml index b5397a9f..8522f1bf 100644 --- a/scripts/automation/regression/setups/trex09/benchmark.yaml +++ b/scripts/automation/regression/setups/trex09/benchmark.yaml @@ -114,10 +114,11 @@ test_CPU_benchmark: cpu_util : 1 bw_per_core : 1 - - name : stl/udp_1pkt_simple.py - kwargs : {packet_len: 9000, packet_count: 1000} - cpu_util : 1 - bw_per_core : 1 +# not enough memory + queue full if memory increase +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 9000, packet_count: 1000} +# cpu_util : 1 +# bw_per_core : 1 - name : stl/imix.py cpu_util : 1 diff --git a/scripts/automation/regression/setups/trex12/benchmark.yaml b/scripts/automation/regression/setups/trex12/benchmark.yaml index 5a30214c..084b57de 100644 --- a/scripts/automation/regression/setups/trex12/benchmark.yaml +++ b/scripts/automation/regression/setups/trex12/benchmark.yaml @@ -121,10 +121,11 @@ test_CPU_benchmark: cpu_util : 1 bw_per_core : 1 - - name : stl/udp_1pkt_simple.py - kwargs : {packet_len: 9000, packet_count: 1000} - cpu_util : 1 - bw_per_core : 1 +# not enough memory + queue full if memory increase +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 9000, packet_count: 1000} +# cpu_util : 1 +# bw_per_core : 1 - name : stl/imix.py cpu_util : 1 diff --git a/scripts/automation/regression/setups/trex14/benchmark.yaml b/scripts/automation/regression/setups/trex14/benchmark.yaml index 5857cd2c..a63abc61 100644 --- a/scripts/automation/regression/setups/trex14/benchmark.yaml +++ b/scripts/automation/regression/setups/trex14/benchmark.yaml @@ -184,10 +184,11 @@ test_CPU_benchmark: cpu_util : 1 bw_per_core : 1 - - name : stl/udp_1pkt_simple.py - kwargs : {packet_len: 9000, packet_count: 1000} - cpu_util : 1 - bw_per_core : 1 +# not enough memory + queue full if memory increase +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 9000, packet_count: 1000} +# cpu_util : 1 +# bw_per_core : 1 - name : stl/imix.py cpu_util : 1 diff --git a/scripts/automation/regression/setups/trex17/benchmark.yaml b/scripts/automation/regression/setups/trex17/benchmark.yaml index 1d792fe5..219a01ed 100644 --- a/scripts/automation/regression/setups/trex17/benchmark.yaml +++ b/scripts/automation/regression/setups/trex17/benchmark.yaml @@ -94,10 +94,11 @@ test_CPU_benchmark: cpu_util : 1 bw_per_core : 1 - - name : stl/udp_1pkt_simple.py - kwargs : {packet_len: 9000, packet_count: 1000} - cpu_util : 1 - bw_per_core : 1 +# not enough memory + queue full if memory increase +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 9000, packet_count: 1000} +# cpu_util : 1 +# bw_per_core : 1 - name : stl/imix.py cpu_util : 1 diff --git a/scripts/automation/regression/setups/trex25/benchmark.yaml b/scripts/automation/regression/setups/trex25/benchmark.yaml index 6a0021de..756c1501 100644 --- a/scripts/automation/regression/setups/trex25/benchmark.yaml +++ b/scripts/automation/regression/setups/trex25/benchmark.yaml @@ -189,10 +189,11 @@ test_CPU_benchmark: cpu_util : 1 bw_per_core : 1 - - name : stl/udp_1pkt_simple.py - kwargs : {packet_len: 9000, packet_count: 1000} - cpu_util : 1 - bw_per_core : 1 +# not enough memory + queue full if memory increase +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 9000, packet_count: 1000} +# cpu_util : 1 +# bw_per_core : 1 - name : stl/imix.py cpu_util : 1 diff --git a/scripts/automation/regression/stateless_tests/stl_benchmark_test.py b/scripts/automation/regression/stateless_tests/stl_benchmark_test.py index d4cf4a05..258717dc 100755 --- a/scripts/automation/regression/stateless_tests/stl_benchmark_test.py +++ b/scripts/automation/regression/stateless_tests/stl_benchmark_test.py @@ -41,8 +41,11 @@ class STLBenchmark_Test(CStlGeneral_Test): raise Exception('CPU util is zero, last values: %s' % cpu_utils) if not stats['global']['tx_bps']: raise Exception('TX bps is zero: %s' % stats['global']['tx_bps']) - - bw_per_core = 100 * stats['global']['tx_bps'] / cpu_utils[-1] / 1e6 + bw_per_core = 2 * 2 * 100 * stats['global']['tx_bps'] / (cpu_utils[-1] * self.stl_trex.get_port_count() * 1e6) print('Done (%ss), CPU util: %4g, bw_per_core: %6sMb/core' % (int(time() - start_time), cpu_utils[-1], int(bw_per_core))) # TODO: add check of benchmark based on results from regression + self.stl_trex.reset() + self.stl_trex.clear_stats() + + -- cgit 1.2.3-korg From 39aedd8ec2dd0313a097d78046445be11c7bc6d7 Mon Sep 17 00:00:00 2001 From: Yaroslav Brustinov Date: Fri, 29 Apr 2016 23:31:32 +0300 Subject: GA fix for python3 --- .../automation/regression/setups/trex25/benchmark.yaml | 18 ++++++++++-------- .../stl/trex_stl_lib/utils/GAObjClass.py | 2 +- 2 files changed, 11 insertions(+), 9 deletions(-) (limited to 'scripts/automation/regression/setups') diff --git a/scripts/automation/regression/setups/trex25/benchmark.yaml b/scripts/automation/regression/setups/trex25/benchmark.yaml index 756c1501..8ef7e0c7 100644 --- a/scripts/automation/regression/setups/trex25/benchmark.yaml +++ b/scripts/automation/regression/setups/trex25/benchmark.yaml @@ -179,15 +179,17 @@ test_CPU_benchmark: cpu_util : 1 bw_per_core : 1 - - name : stl/udp_1pkt_simple.py - kwargs : {packet_len: 9000, packet_count: 10} - cpu_util : 1 - bw_per_core : 1 +# problem stabilizing CPU utilization at this setup +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 9000, packet_count: 10} +# cpu_util : 1 +# bw_per_core : 1 - - name : stl/udp_1pkt_simple.py - kwargs : {packet_len: 9000, packet_count: 100} - cpu_util : 1 - bw_per_core : 1 +# problem stabilizing CPU utilization at this setup +# - name : stl/udp_1pkt_simple.py +# kwargs : {packet_len: 9000, packet_count: 100} +# cpu_util : 1 +# bw_per_core : 1 # not enough memory + queue full if memory increase # - name : stl/udp_1pkt_simple.py diff --git a/scripts/automation/trex_control_plane/stl/trex_stl_lib/utils/GAObjClass.py b/scripts/automation/trex_control_plane/stl/trex_stl_lib/utils/GAObjClass.py index 3101b45d..164aae7a 100755 --- a/scripts/automation/trex_control_plane/stl/trex_stl_lib/utils/GAObjClass.py +++ b/scripts/automation/trex_control_plane/stl/trex_stl_lib/utils/GAObjClass.py @@ -200,7 +200,7 @@ class GAmanager: # print items def reportBatched(self,batched): - req = Request(url_batched, data=batched) + req = Request(url_batched, data=batched.encode('ascii')) urlopen(req) #requests.post(url_batched,data=batched) -- cgit 1.2.3-korg From 7007bf04481b76b51e30d42148df710bccc9aa35 Mon Sep 17 00:00:00 2001 From: Yaroslav Brustinov Date: Tue, 3 May 2016 04:28:08 +0300 Subject: bp_sim: correct description of supported stateful layers main_dpdk: send bw_per_core with json, return back precision of low values jsonrpcserver: disable logging regression: use bw_per_core from cpp calculation correct test name for GA --- .../regression/setups/kiwi02/benchmark.yaml | 24 +++++++++--------- .../regression/setups/trex-dan/benchmark.yaml | 28 ++++++++++----------- .../regression/setups/trex04/benchmark.yaml | 20 +++------------ .../regression/setups/trex08/benchmark.yaml | 14 +++++------ .../regression/setups/trex09/benchmark.yaml | 14 +++++------ .../regression/setups/trex12/benchmark.yaml | 18 +++++++------- .../regression/setups/trex14/benchmark.yaml | 22 ++++++++-------- .../regression/setups/trex17/benchmark.yaml | 8 +++--- .../regression/setups/trex25/benchmark.yaml | 24 +++++++++--------- .../regression/stateful_tests/trex_general_test.py | 15 +++++------ .../stateless_tests/stl_benchmark_test.py | 29 +++++++++++++--------- .../stl/trex_stl_lib/trex_stl_stats.py | 3 ++- .../jsonrpclib/SimpleJSONRPCServer.py | 5 ++++ src/bp_sim.cpp | 4 +-- src/main_dpdk.cpp | 18 +++++++++++--- 15 files changed, 127 insertions(+), 119 deletions(-) (limited to 'scripts/automation/regression/setups') diff --git a/scripts/automation/regression/setups/kiwi02/benchmark.yaml b/scripts/automation/regression/setups/kiwi02/benchmark.yaml index f6ad8e9a..343d4120 100644 --- a/scripts/automation/regression/setups/kiwi02/benchmark.yaml +++ b/scripts/automation/regression/setups/kiwi02/benchmark.yaml @@ -24,39 +24,39 @@ nat_dict: &nat_dict test_jumbo: multiplier : 55 cores : 1 - bw_per_core : 647305 + bw_per_core : 647.305 test_routing_imix: multiplier : 32 cores : 2 - bw_per_core : 39131 + bw_per_core : 39.131 test_routing_imix_64: multiplier : 2500 cores : 4 - bw_per_core : 7427 + bw_per_core : 7.427 test_static_routing_imix: stat_route_dict : *stat_route_dict multiplier : 32 cores : 2 - bw_per_core : 39039 + bw_per_core : 39.039 test_static_routing_imix_asymmetric: stat_route_dict : *stat_route_dict multiplier : 16 cores : 1 - bw_per_core : 38796 + bw_per_core : 38.796 test_ipv6_simple: multiplier : 32 cores : 4 - bw_per_core : 19283 + bw_per_core : 19.283 test_nat_simple_mode1: &test_nat_simple @@ -65,7 +65,7 @@ test_nat_simple_mode1: &test_nat_simple multiplier : 10000 cores : 1 allow_timeout_dev : True - bw_per_core : 45304 + bw_per_core : 45.304 test_nat_simple_mode2: *test_nat_simple @@ -77,7 +77,7 @@ test_nat_learning: test_nbar_simple: multiplier : 20 cores : 2 - bw_per_core : 18243 + bw_per_core : 18.243 nbar_classification: http : 30.41 rtp_audio : 21.22 @@ -100,11 +100,11 @@ test_rx_check_http: &rx_http cores : 2 rx_sample_rate : 32 error_tolerance : 0.01 - bw_per_core : 38071 + bw_per_core : 38.071 test_rx_check_http_ipv6: << : *rx_http - bw_per_core : 46733 + bw_per_core : 46.733 test_rx_check_sfr: &rx_sfr @@ -112,11 +112,11 @@ test_rx_check_sfr: &rx_sfr cores : 4 rx_sample_rate : 32 error_tolerance : 0.01 - bw_per_core : 16915 + bw_per_core : 16.915 test_rx_check_sfr_ipv6: << : *rx_sfr - bw_per_core : 20323 + bw_per_core : 20.323 diff --git a/scripts/automation/regression/setups/trex-dan/benchmark.yaml b/scripts/automation/regression/setups/trex-dan/benchmark.yaml index d2af373c..c8b046d4 100644 --- a/scripts/automation/regression/setups/trex-dan/benchmark.yaml +++ b/scripts/automation/regression/setups/trex-dan/benchmark.yaml @@ -24,39 +24,39 @@ nat_dict: &nat_dict test_jumbo: multiplier : 2.8 cores : 1 - bw_per_core : 67030 + bw_per_core : 67.030 test_routing_imix: multiplier : 1 cores : 1 - bw_per_core : 3979 + bw_per_core : 3.979 test_routing_imix_64: multiplier : 150 cores : 4 - bw_per_core : 681 + bw_per_core : .681 test_static_routing_imix: stat_route_dict : *stat_route_dict multiplier : 0.7 cores : 1 - bw_per_core : 3837 + bw_per_core : 3.837 test_static_routing_imix_asymmetric: stat_route_dict : *stat_route_dict multiplier : 0.8 cores : 1 - bw_per_core : 3939 + bw_per_core : 3.939 test_ipv6_simple: multiplier : 1.5 cores : 2 - bw_per_core : 4719 + bw_per_core : 4.719 test_nat_simple_mode1: &test_nat_simple @@ -65,20 +65,20 @@ test_nat_simple_mode1: &test_nat_simple multiplier : 550 cores : 1 allow_timeout_dev : True - bw_per_core : 7465 + bw_per_core : 7.465 test_nat_simple_mode2: *test_nat_simple test_nat_learning: << : *test_nat_simple - bw_per_core : 7377 + bw_per_core : 7.377 nat_opened : 40000 test_nbar_simple: multiplier : 1.5 cores : 2 - bw_per_core : 4465 + bw_per_core : 4.465 nbar_classification: http : 30.3 rtp_audio : 21.06 @@ -100,28 +100,28 @@ test_rx_check_http: &rx_http multiplier : 2200 cores : 1 rx_sample_rate : 16 - bw_per_core : 8142 + bw_per_core : 8.142 test_rx_check_http_ipv6: << : *rx_http - bw_per_core : 8591 + bw_per_core : 8.591 test_rx_check_http_negative: << : *rx_http stat_route_dict : *stat_route_dict nat_dict : *nat_dict - bw_per_core : 8037 + bw_per_core : 8.037 test_rx_check_sfr: &rx_sfr multiplier : 1.7 cores : 2 rx_sample_rate : 16 - bw_per_core : 4473 + bw_per_core : 4.473 test_rx_check_sfr_ipv6: << : *rx_sfr - bw_per_core : 4773 + bw_per_core : 4.773 diff --git a/scripts/automation/regression/setups/trex04/benchmark.yaml b/scripts/automation/regression/setups/trex04/benchmark.yaml index e3a477f5..d2b1c4f2 100644 --- a/scripts/automation/regression/setups/trex04/benchmark.yaml +++ b/scripts/automation/regression/setups/trex04/benchmark.yaml @@ -7,39 +7,27 @@ test_jumbo: multiplier : 2.8 cores : 1 - bw_per_core : 106652 + bw_per_core : 106.652 test_routing_imix: multiplier : 0.5 cores : 1 - bw_per_core : 11577 + bw_per_core : 11.577 test_routing_imix_64: multiplier : 28 cores : 1 - bw_per_core : 2030 + bw_per_core : 2.030 test_static_routing_imix_asymmetric: multiplier : 0.8 cores : 1 - bw_per_core : 13742 + bw_per_core : 13.742 -test_CPU_benchmark: - profiles: - - name : stl/udp_1pkt_simple.py - kwargs : {packet_len: 64} - cpu_util : 1 - bw_per_core : 1 - - - name : stl/udp_1pkt_simple.py - kwargs : {packet_len: 128} - cpu_util : 1 - bw_per_core : 1 - ### stateless ### diff --git a/scripts/automation/regression/setups/trex08/benchmark.yaml b/scripts/automation/regression/setups/trex08/benchmark.yaml index 97db6598..c5c2fde7 100644 --- a/scripts/automation/regression/setups/trex08/benchmark.yaml +++ b/scripts/automation/regression/setups/trex08/benchmark.yaml @@ -7,45 +7,45 @@ test_jumbo: multiplier : 150 cores : 2 - bw_per_core : 962464 + bw_per_core : 962.464 test_routing_imix: multiplier : 80 cores : 4 - bw_per_core : 55130 + bw_per_core : 55.130 test_routing_imix_64: multiplier : 8000 cores : 7 - bw_per_core : 11699 + bw_per_core : 11.699 test_static_routing_imix_asymmetric: multiplier : 70 cores : 3 - bw_per_core : 50561 + bw_per_core : 50.561 test_ipv6_simple: multiplier : 80 cores : 7 - bw_per_core : 25948 + bw_per_core : 25.948 test_rx_check_http: multiplier : 99000 cores : 3 rx_sample_rate : 128 - bw_per_core : 49464 + bw_per_core : 49.464 test_rx_check_sfr: multiplier : 80 cores : 7 rx_sample_rate : 128 - bw_per_core : 20871 + bw_per_core : 20.871 diff --git a/scripts/automation/regression/setups/trex09/benchmark.yaml b/scripts/automation/regression/setups/trex09/benchmark.yaml index 8522f1bf..1f8fe47a 100644 --- a/scripts/automation/regression/setups/trex09/benchmark.yaml +++ b/scripts/automation/regression/setups/trex09/benchmark.yaml @@ -7,45 +7,45 @@ test_jumbo: multiplier : 110 cores : 1 - bw_per_core : 767198 + bw_per_core : 767.198 test_routing_imix: multiplier : 64 cores : 2 - bw_per_core : 35889 + bw_per_core : 35.889 test_routing_imix_64: multiplier : 5000 cores : 2 - bw_per_core : 10672 + bw_per_core : 10.672 test_static_routing_imix_asymmetric: multiplier : 32 cores : 1 - bw_per_core : 52738 + bw_per_core : 52.738 test_ipv6_simple: multiplier : 64 cores : 4 - bw_per_core : 22808 + bw_per_core : 22.808 test_rx_check_http: multiplier : 90000 cores : 2 rx_sample_rate : 32 - bw_per_core : 46075 + bw_per_core : 46.075 test_rx_check_sfr: multiplier : 50 cores : 3 rx_sample_rate : 32 - bw_per_core : 20469 + bw_per_core : 20.469 diff --git a/scripts/automation/regression/setups/trex12/benchmark.yaml b/scripts/automation/regression/setups/trex12/benchmark.yaml index 084b57de..0ebc2bcb 100644 --- a/scripts/automation/regression/setups/trex12/benchmark.yaml +++ b/scripts/automation/regression/setups/trex12/benchmark.yaml @@ -7,53 +7,53 @@ test_jumbo: multiplier : 14 cores : 1 - bw_per_core : 689664 + bw_per_core : 689.664 test_routing_imix: multiplier : 8 cores : 1 - bw_per_core : 45422 + bw_per_core : 45.422 test_routing_imix_64: multiplier : 2200 cores : 1 - bw_per_core : 11655 + bw_per_core : 11.655 test_static_routing_imix_asymmetric: multiplier : 4 cores : 1 - bw_per_core : 45294 + bw_per_core : 45.294 test_ipv6_simple: multiplier : 8 cores : 1 - bw_per_core : 29332 + bw_per_core : 29.332 test_rx_check_http: &rx_http multiplier : 11000 cores : 1 rx_sample_rate : 16 - bw_per_core : 47813 + bw_per_core : 47.813 test_rx_check_http_ipv6: << : *rx_http - bw_per_core : 55607 + bw_per_core : 55.607 test_rx_check_sfr: &rx_sfr multiplier : 8 cores : 1 rx_sample_rate : 16 - bw_per_core : 24203 + bw_per_core : 24.203 test_rx_check_sfr_ipv6: << : *rx_sfr - bw_per_core : 28867 + bw_per_core : 28.867 ### stateless ### diff --git a/scripts/automation/regression/setups/trex14/benchmark.yaml b/scripts/automation/regression/setups/trex14/benchmark.yaml index a63abc61..afa27a82 100644 --- a/scripts/automation/regression/setups/trex14/benchmark.yaml +++ b/scripts/automation/regression/setups/trex14/benchmark.yaml @@ -24,26 +24,26 @@ nat_dict: &nat_dict test_jumbo: multiplier : 17 cores : 1 - bw_per_core : 543232 + bw_per_core : 543.232 test_routing_imix: multiplier : 10 cores : 1 - bw_per_core : 34128 + bw_per_core : 34.128 test_routing_imix_64: multiplier : 430 cores : 1 - bw_per_core : 5893 + bw_per_core : 5.893 test_static_routing_imix: &test_static_routing_imix stat_route_dict : *stat_route_dict multiplier : 8 cores : 1 - bw_per_core : 34339 + bw_per_core : 34.339 test_static_routing_imix_asymmetric: *test_static_routing_imix @@ -51,7 +51,7 @@ test_static_routing_imix_asymmetric: *test_static_routing_imix test_ipv6_simple: multiplier : 9 cores : 2 - bw_per_core : 19064 + bw_per_core : 19.064 test_nat_simple_mode1: &test_nat_simple @@ -61,7 +61,7 @@ test_nat_simple_mode1: &test_nat_simple cores : 1 nat_opened : 40000 allow_timeout_dev : True - bw_per_core : 44445 + bw_per_core : 44.445 test_nat_simple_mode2: *test_nat_simple @@ -73,7 +73,7 @@ test_nat_learning: test_nbar_simple: multiplier : 7.5 cores : 2 - bw_per_core : 17174 + bw_per_core : 17.174 nbar_classification: http : 32.58 rtp-audio : 21.21 @@ -95,11 +95,11 @@ test_rx_check_http: &rx_http multiplier : 15000 cores : 1 rx_sample_rate : 16 - bw_per_core : 39560 + bw_per_core : 39.560 test_rx_check_http_ipv6: << : *rx_http - bw_per_core : 49237 + bw_per_core : 49.237 test_rx_check_http_negative: << : *rx_http @@ -111,11 +111,11 @@ test_rx_check_sfr: &rx_sfr multiplier : 10 cores : 3 rx_sample_rate : 16 - bw_per_core : 16082 + bw_per_core : 16.082 test_rx_check_sfr_ipv6: << : *rx_sfr - bw_per_core : 19198 + bw_per_core : 19.198 diff --git a/scripts/automation/regression/setups/trex17/benchmark.yaml b/scripts/automation/regression/setups/trex17/benchmark.yaml index 219a01ed..d9191a42 100644 --- a/scripts/automation/regression/setups/trex17/benchmark.yaml +++ b/scripts/automation/regression/setups/trex17/benchmark.yaml @@ -7,25 +7,25 @@ test_jumbo: multiplier : 2.8 cores : 1 - bw_per_core : 66489 + bw_per_core : 66.489 test_routing_imix: multiplier : 0.5 cores : 1 - bw_per_core : 5530 + bw_per_core : 5.530 test_routing_imix_64: multiplier : 28 cores : 1 - bw_per_core : 859 + bw_per_core : 0.859 test_static_routing_imix_asymmetric: multiplier : 0.8 cores : 1 - bw_per_core : 9635 + bw_per_core : 9.635 diff --git a/scripts/automation/regression/setups/trex25/benchmark.yaml b/scripts/automation/regression/setups/trex25/benchmark.yaml index 8ef7e0c7..f87759f9 100644 --- a/scripts/automation/regression/setups/trex25/benchmark.yaml +++ b/scripts/automation/regression/setups/trex25/benchmark.yaml @@ -24,26 +24,26 @@ nat_dict: &nat_dict test_jumbo: multiplier : 6 cores : 1 - bw_per_core : 443970 + bw_per_core : 443.970 test_routing_imix: multiplier : 4 cores : 1 - bw_per_core : 26509 + bw_per_core : 26.509 test_routing_imix_64: multiplier : 600 cores : 1 - bw_per_core : 6391 + bw_per_core : 6.391 test_static_routing_imix: stat_route_dict : *stat_route_dict multiplier : 2.8 cores : 1 - bw_per_core : 24510 + bw_per_core : 24.510 @@ -51,13 +51,13 @@ test_static_routing_imix_asymmetric: stat_route_dict : *stat_route_dict multiplier : 3.2 cores : 1 - bw_per_core : 28229 + bw_per_core : 28.229 test_ipv6_simple: multiplier : 6 cores : 1 - bw_per_core : 19185 + bw_per_core : 19.185 test_nat_simple_mode1: &test_nat_simple @@ -66,7 +66,7 @@ test_nat_simple_mode1: &test_nat_simple multiplier : 2200 cores : 1 allow_timeout_dev : True - bw_per_core : 32171 + bw_per_core : 32.171 test_nat_simple_mode2: *test_nat_simple @@ -78,7 +78,7 @@ test_nat_learning: test_nbar_simple: multiplier : 6 cores : 1 - bw_per_core : 16645 + bw_per_core : 16.645 nbar_classification: http : 24.55 rtp : 19.15 @@ -101,11 +101,11 @@ test_rx_check_http: &rx_http multiplier : 8800 cores : 1 rx_sample_rate : 16 - bw_per_core : 31389 + bw_per_core : 31.389 test_rx_check_http_ipv6: << : *rx_http - bw_per_core : 37114 + bw_per_core : 37.114 test_rx_check_http_negative: << : *rx_http @@ -117,11 +117,11 @@ test_rx_check_sfr: &rx_sfr multiplier : 6.8 cores : 1 rx_sample_rate : 16 - bw_per_core : 16063 + bw_per_core : 16.063 test_rx_check_sfr_ipv6: << : *rx_sfr - bw_per_core : 19663 + bw_per_core : 19.663 ### stateless ### diff --git a/scripts/automation/regression/stateful_tests/trex_general_test.py b/scripts/automation/regression/stateful_tests/trex_general_test.py index d7d83096..42720f70 100755 --- a/scripts/automation/regression/stateful_tests/trex_general_test.py +++ b/scripts/automation/regression/stateful_tests/trex_general_test.py @@ -150,13 +150,9 @@ class CTRexGeneral_Test(unittest.TestCase): if cpu_util < minimal_cpu: self.fail("CPU is too low (%s%%), can't verify performance in such low CPU%%." % cpu_util ) - cores = self.get_benchmark_param('cores') - ports_count = trex_res.get_ports_count() - trex_tx_bps = sum(trex_res.get_value_list("trex-global.data.m_tx_bps")[-4:-1]) / 3.0 - # x2 because each thread uses 2 ports and another x2 because each core can use 2 threads - test_norm_cpu = 2 * 2 * (100.0 / cpu_util) * trex_tx_bps / (ports_count * cores * 1e6) + test_norm_cpu = sum(trex_res.get_value_list("trex-global.data.m_bw_per_core")[-4:-1]) / 3.0 - print("TRex CPU utilization: %g%%, norm_cpu is : %g Mb/core" % (round(cpu_util, 2), round(test_norm_cpu))) + print("TRex CPU utilization: %g%%, norm_cpu is : %g Gb/core" % (round(cpu_util, 2), round(test_norm_cpu))) expected_norm_cpu = self.get_benchmark_param('bw_per_core') if not expected_norm_cpu: @@ -164,13 +160,14 @@ class CTRexGeneral_Test(unittest.TestCase): calc_error_precent = abs(100.0 * test_norm_cpu / expected_norm_cpu - 100) print('Err percent: %s' % calc_error_precent) - if calc_error_precent > err: + if calc_error_precent > err and cpu_util > 10: self.fail('Excepted bw_per_core ratio: %s, got: %g' % (expected_norm_cpu, round(test_norm_cpu))) # report benchmarks if self.GAManager: - self.GAManager.gaAddAction(Event = 'stateful_test', action = self.get_name(), label = 'bw_per_core', value = int(test_norm_cpu)) - self.GAManager.gaAddAction(Event = 'stateful_test', action = self.get_name(), label = 'bw_per_core_exp', value = int(expected_norm_cpu)) + setup_test = '%s.%s' % (CTRexScenario.setup_name, self.get_name()) + self.GAManager.gaAddAction(Event = 'stateful_test', action = setup_test, label = 'bw_per_core', value = int(test_norm_cpu)) + self.GAManager.gaAddAction(Event = 'stateful_test', action = setup_test, label = 'bw_per_core_exp', value = int(expected_norm_cpu)) self.GAManager.emptyAndReportQ() def check_results_gt (self, res, name, val): diff --git a/scripts/automation/regression/stateless_tests/stl_benchmark_test.py b/scripts/automation/regression/stateless_tests/stl_benchmark_test.py index 51c77b57..ef4c435f 100755 --- a/scripts/automation/regression/stateless_tests/stl_benchmark_test.py +++ b/scripts/automation/regression/stateless_tests/stl_benchmark_test.py @@ -11,12 +11,11 @@ class STLBenchmark_Test(CStlGeneral_Test): def test_CPU_benchmark(self): timeout = 60 # max time to wait for stabilization stabilize = 5 # ensure stabilization over this period - cores = self.configuration.trex['trex_cores'] - ports = self.stl_trex.get_port_count() print('') for profile_bench in self.get_benchmark_param('profiles'): - cpu_utils = deque([0] * stabilize, maxlen = stabilize) + cpu_utils = deque([0] * stabilize, maxlen = stabilize) + bws_per_core = deque([0] * stabilize, maxlen = stabilize) kwargs = profile_bench.get('kwargs', {}) print('Testing profile %s, kwargs: %s' % (profile_bench['name'], kwargs)) profile = STLProfile.load(os.path.join(CTRexScenario.scripts_path, profile_bench['name']), **kwargs) @@ -24,18 +23,22 @@ class STLBenchmark_Test(CStlGeneral_Test): self.stl_trex.reset() self.stl_trex.clear_stats() sleep(1) - self.stl_trex.add_streams(profile, ports = [0, 1]) - self.stl_trex.start(ports = [0, 1], mult = '10%') + self.stl_trex.add_streams(profile) + self.stl_trex.start(mult = '10%') start_time = time() for i in range(timeout + 1): stats = self.stl_trex.get_stats() cpu_utils.append(stats['global']['cpu_util']) + bws_per_core.append(stats['global']['bw_per_core']) if i > stabilize and min(cpu_utils) > max(cpu_utils) * 0.95: break sleep(0.5) - if i == timeout: + agv_cpu_util = sum(cpu_utils) / stabilize + agv_bw_per_core = sum(bws_per_core) / stabilize + + if i == timeout and agv_cpu_util > 10: raise Exception('Timeout on waiting for stabilization, last CPU util values: %s' % list(cpu_utils)) if stats[0]['opackets'] < 1000 or stats[1]['opackets'] < 1000: raise Exception('Too few opackets, port0: %s, port1: %s' % (stats[0]['opackets'], stats[1]['opackets'])) @@ -43,17 +46,19 @@ class STLBenchmark_Test(CStlGeneral_Test): raise Exception('Too much queue_full: %s' % stats['global']['queue_full']) if not cpu_utils[-1]: raise Exception('CPU util is zero, last values: %s' % list(cpu_utils)) - agv_cpu_util = sum(cpu_utils) / stabilize - bw_per_core = 2 * 2 * (100 / agv_cpu_util) * stats['global']['tx_bps'] / (ports * cores * 1e9) - print('Done (%ss), CPU util: %4g, bw_per_core: %6sGb/core' % (int(time() - start_time), agv_cpu_util, round(bw_per_core, 2))) + print('Done (%ss), CPU util: %4g, bw_per_core: %6sGb/core' % (int(time() - start_time), agv_cpu_util, round(agv_bw_per_core, 2))) # TODO: add check of benchmark based on results from regression # report benchmarks if self.GAManager: - profile_repr = '%s %s' % (os.path.basename(profile_bench['name']), repr(kwargs).replace("'", '')) - self.GAManager.gaAddAction(Event = 'stateless_test', action = profile_repr, label = 'bw_per_core', value = int(bw_per_core)) + profile_repr = '%s.%s %s' % (CTRexScenario.setup_name, + os.path.basename(profile_bench['name']), + repr(kwargs).replace("'", '')) + self.GAManager.gaAddAction(Event = 'stateless_test', action = profile_repr, + label = 'bw_per_core', value = int(agv_bw_per_core)) # TODO: report expected once acquired - #self.GAManager.gaAddAction(Event = 'stateless_test', action = profile_repr, label = 'bw_per_core_exp', value = int(expected_norm_cpu)) + #self.GAManager.gaAddAction(Event = 'stateless_test', action = profile_repr, + # label = 'bw_per_core_exp', value = int(expected_norm_cpu)) self.GAManager.emptyAndReportQ() def tearDown(self): diff --git a/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_stats.py b/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_stats.py index 12c2c578..c7513144 100644 --- a/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_stats.py +++ b/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_stats.py @@ -212,7 +212,7 @@ class CTRexInfoGenerator(object): if ratio <= 0.1875: return u'\u2581' # 1/8 if ratio <= 0.3125: - return u'\u2582' # 2/4 + return u'\u2582' # 2/8 if ratio <= 0.4375: return u'\u2583' # 3/8 if ratio <= 0.5625: @@ -594,6 +594,7 @@ class CGlobalStats(CTRexStats): # absolute stats['cpu_util'] = self.get("m_cpu_util") stats['rx_cpu_util'] = self.get("m_rx_cpu_util") + stats['bw_per_core'] = self.get("m_bw_per_core") stats['tx_bps'] = self.get("m_tx_bps") stats['tx_pps'] = self.get("m_tx_pps") diff --git a/scripts/external_libs/jsonrpclib-pelix-0.2.5/jsonrpclib/SimpleJSONRPCServer.py b/scripts/external_libs/jsonrpclib-pelix-0.2.5/jsonrpclib/SimpleJSONRPCServer.py index e9fe4e68..d55ce0fb 100644 --- a/scripts/external_libs/jsonrpclib-pelix-0.2.5/jsonrpclib/SimpleJSONRPCServer.py +++ b/scripts/external_libs/jsonrpclib-pelix-0.2.5/jsonrpclib/SimpleJSONRPCServer.py @@ -397,6 +397,11 @@ class SimpleJSONRPCRequestHandler(xmlrpcserver.SimpleXMLRPCRequestHandler): The server that receives the requests must have a json_config member, containing a JSONRPClib Config instance """ + + # disable logging + def log_message(*args, **kwargs): + pass + def do_POST(self): """ Handles POST requests diff --git a/src/bp_sim.cpp b/src/bp_sim.cpp index 2c122e72..94f8a2ba 100755 --- a/src/bp_sim.cpp +++ b/src/bp_sim.cpp @@ -2258,11 +2258,11 @@ enum CCapFileFlowInfo::load_cap_file_err CCapFileFlowInfo::load_cap_file(std::st } }else{ - fprintf(stderr, "ERROR packet %d is not supported, should be IP(0x0800)/TCP/UDP format try to convert it using Wireshark !\n",cnt); + fprintf(stderr, "ERROR packet %d is not supported, should be Ethernet/IP(0x0800)/(TCP|UDP) format try to convert it using Wireshark !\n",cnt); return kPktNotSupp; } }else{ - fprintf(stderr, "ERROR packet %d is not supported, should be IP(0x0800)/TCP/UDP format try to convert it using Wireshark !\n",cnt); + fprintf(stderr, "ERROR packet %d is not supported, should be Ethernet/IP(0x0800)/(TCP|UDP) format try to convert it using Wireshark !\n",cnt); return kPktProcessFail; } } diff --git a/src/main_dpdk.cpp b/src/main_dpdk.cpp index 1496513d..edc3cb67 100644 --- a/src/main_dpdk.cpp +++ b/src/main_dpdk.cpp @@ -2317,6 +2317,7 @@ public: float m_open_flows; float m_cpu_util; float m_rx_cpu_util; + float m_bw_per_core; uint8_t m_threads; uint32_t m_num_of_ports; @@ -2335,7 +2336,10 @@ private: std::string CGlobalStats::get_field(std::string name,float &f){ char buff[200]; - snprintf(buff, sizeof(buff), "\"%s\":%.1f,",name.c_str(),f); + if(f >= -10.0 or f <= 10.0) + snprintf(buff, sizeof(buff), "\"%s\":%.1f,",name.c_str(),f); + else + snprintf(buff, sizeof(buff), "\"%s\":%.3e,",name.c_str(),f); return (std::string(buff)); } @@ -2347,7 +2351,10 @@ std::string CGlobalStats::get_field(std::string name,uint64_t &f){ std::string CGlobalStats::get_field_port(int port,std::string name,float &f){ char buff[200]; - snprintf(buff, sizeof(buff), "\"%s-%d\":%.1f,",name.c_str(),port,f); + if(f >= -10.0 or f <= 10.0) + snprintf(buff, sizeof(buff), "\"%s-%d\":%.1f,",name.c_str(),port,f); + else + snprintf(buff, sizeof(buff), "\"%s-%d\":%.3e,",name.c_str(),port,f); return (std::string(buff)); } @@ -2376,6 +2383,7 @@ void CGlobalStats::dump_json(std::string & json, bool baseline,uint32_t stats_ti #define GET_FIELD_PORT(p,f) get_field_port(p,std::string(#f),lp->f) json+=GET_FIELD(m_cpu_util); + json+=GET_FIELD(m_bw_per_core); json+=GET_FIELD(m_rx_cpu_util); json+=GET_FIELD(m_platform_factor); json+=GET_FIELD(m_tx_bps); @@ -2441,7 +2449,7 @@ void CGlobalStats::DumpAllPorts(FILE *fd){ - fprintf (fd," Cpu Utilization : %2.1f %% %2.1f Gb/core \n",m_cpu_util,(2*(m_tx_bps/1e9)*100.0/(m_cpu_util*m_threads))); + fprintf (fd," Cpu Utilization : %2.1f %% %2.1f Gb/core \n",m_cpu_util,m_bw_per_core); fprintf (fd," Platform_factor : %2.1f \n",m_platform_factor); fprintf (fd," Total-Tx : %s ",double_to_human_str(m_tx_bps,"bps",KBYE_1000).c_str()); if ( CGlobalInfo::is_learn_mode() ) { @@ -3554,6 +3562,10 @@ void CGlobalTRex::get_stats(CGlobalStats & stats){ stats.m_tx_pps = total_tx_pps*pf; stats.m_rx_pps = total_rx_pps*pf; stats.m_tx_cps = m_last_total_cps*pf; + if(stats.m_cpu_util < 0.0001) + stats.m_bw_per_core = 0; + else + stats.m_bw_per_core = 2*(stats.m_tx_bps/1e9)*100.0/(stats.m_cpu_util*stats.m_threads); stats.m_tx_expected_cps = m_expected_cps*pf; stats.m_tx_expected_pps = m_expected_pps*pf; -- cgit 1.2.3-korg