11b6130dfSYuval Mintz#!/bin/bash 21b6130dfSYuval Mintz# SPDX-License-Identifier: GPL-2.0 31b6130dfSYuval Mintz 42cca8751SPetr Machatalib_dir=$(dirname $0)/../../../../net/forwarding 52cca8751SPetr Machata 61b6130dfSYuval MintzNUM_NETIFS=6 72cca8751SPetr Machatasource $lib_dir/lib.sh 82cca8751SPetr Machatasource $lib_dir/tc_common.sh 91b6130dfSYuval Mintzsource devlink_lib_spectrum.sh 101b6130dfSYuval Mintz 111b6130dfSYuval Mintzcurrent_test="" 121b6130dfSYuval Mintz 131b6130dfSYuval Mintzcleanup() 141b6130dfSYuval Mintz{ 151b6130dfSYuval Mintz pre_cleanup 161b6130dfSYuval Mintz if [ ! -z $current_test ]; then 171b6130dfSYuval Mintz ${current_test}_cleanup 181b6130dfSYuval Mintz fi 191b6130dfSYuval Mintz devlink_sp_size_kvd_to_default 201b6130dfSYuval Mintz} 211b6130dfSYuval Mintz 221b6130dfSYuval Mintzdevlink_sp_read_kvd_defaults 231b6130dfSYuval Mintztrap cleanup EXIT 241b6130dfSYuval Mintz 25be00853bSPetr MachataALL_TESTS=" 26be00853bSPetr Machata router 27be00853bSPetr Machata tc_flower 28be00853bSPetr Machata mirror_gre 29be00853bSPetr Machata tc_police 30be00853bSPetr Machata port 31be00853bSPetr Machata rif_mac_profile 32be00853bSPetr Machata rif_counter 33*45c5a384SIdo Schimmel port_range 34be00853bSPetr Machata" 35be00853bSPetr Machata 361b6130dfSYuval Mintzfor current_test in ${TESTS:-$ALL_TESTS}; do 37059b18e2SDanielle Ratson RET_FIN=0 381b6130dfSYuval Mintz source ${current_test}_scale.sh 391b6130dfSYuval Mintz 401b6130dfSYuval Mintz num_netifs_var=${current_test^^}_NUM_NETIFS 411b6130dfSYuval Mintz num_netifs=${!num_netifs_var:-$NUM_NETIFS} 421b6130dfSYuval Mintz 431b6130dfSYuval Mintz for profile in $KVD_PROFILES; do 441b6130dfSYuval Mintz RET=0 451b6130dfSYuval Mintz devlink_sp_resource_kvd_profile_set $profile 461b6130dfSYuval Mintz if [[ $RET -gt 0 ]]; then 471b6130dfSYuval Mintz log_test "'$current_test' [$profile] setting" 481b6130dfSYuval Mintz continue 491b6130dfSYuval Mintz fi 501b6130dfSYuval Mintz 511b6130dfSYuval Mintz for should_fail in 0 1; do 521b6130dfSYuval Mintz RET=0 531b6130dfSYuval Mintz target=$(${current_test}_get_target "$should_fail") 548cad339dSPetr Machata if ((target == 0)); then 558cad339dSPetr Machata continue 568cad339dSPetr Machata fi 571b6130dfSYuval Mintz ${current_test}_setup_prepare 581b6130dfSYuval Mintz setup_wait $num_netifs 59d3ffeb2dSIdo Schimmel # Update target in case occupancy of a certain resource 60d3ffeb2dSIdo Schimmel # changed following the test setup. 61d3ffeb2dSIdo Schimmel target=$(${current_test}_get_target "$should_fail") 621b6130dfSYuval Mintz ${current_test}_test "$target" "$should_fail" 631b6130dfSYuval Mintz if [[ "$should_fail" -eq 0 ]]; then 641b6130dfSYuval Mintz log_test "'$current_test' [$profile] $target" 653128b9f5SPetr Machata 663128b9f5SPetr Machata if ((!RET)); then 673128b9f5SPetr Machata tt=${current_test}_traffic_test 683128b9f5SPetr Machata if [[ $(type -t $tt) == "function" ]] 693128b9f5SPetr Machata then 703128b9f5SPetr Machata $tt "$target" 713128b9f5SPetr Machata log_test "'$current_test' [$profile] $target traffic test" 723128b9f5SPetr Machata fi 733128b9f5SPetr Machata fi 741b6130dfSYuval Mintz else 751b6130dfSYuval Mintz log_test "'$current_test' [$profile] overflow $target" 761b6130dfSYuval Mintz fi 7735d5829eSPetr Machata ${current_test}_cleanup $target 78059b18e2SDanielle Ratson RET_FIN=$(( RET_FIN || RET )) 791b6130dfSYuval Mintz done 801b6130dfSYuval Mintz done 81196f9bc0SAmit Cohendone 821b6130dfSYuval Mintzcurrent_test="" 831b6130dfSYuval Mintz 84059b18e2SDanielle Ratsonexit "$RET_FIN" 85