/
usr
/
src
/
linux-headers-5.15.0-190
/
tools
/
testing
/
selftests
/
drivers
/
net
/
mlxsw
/
/usr/src/linux-headers-5.15.0-190/tools/testing/selftests/drivers/net/mlxsw
mkdir
upload
Name
Size
Mode
Actions
spectrum/
-
0755
rm
spectrum-2/
-
0755
rm
blackhole_routes.sh
5075
0755
edit
dl
rm
devlink_trap.sh
1928
0755
edit
dl
rm
devlink_trap_acl_drops.sh
2458
0755
edit
dl
rm
devlink_trap_control.sh
18399
0755
edit
dl
rm
devlink_trap_l2_drops.sh
9966
0755
edit
dl
rm
devlink_trap_l3_drops.sh
16812
0755
edit
dl
rm
devlink_trap_l3_exceptions.sh
14098
0755
edit
dl
rm
devlink_trap_policer.sh
9441
0755
edit
dl
rm
devlink_trap_tunnel_ipip.sh
6035
0755
edit
dl
rm
devlink_trap_tunnel_vxlan.sh
8989
0755
edit
dl
rm
ethtool_lanes.sh
4026
0755
edit
dl
rm
extack.sh
3471
0755
edit
dl
rm
fib.sh
5562
0755
edit
dl
rm
fib_offload.sh
10164
0755
edit
dl
rm
mirror_gre.sh
4447
0755
edit
dl
rm
mirror_gre_scale.sh
5782
0644
edit
dl
rm
mlxsw_lib.sh
362
0644
edit
dl
rm
one_armed_router.sh
6950
0755
edit
dl
rm
port_scale.sh
1391
0644
edit
dl
rm
qos_defprio.sh
2738
0755
edit
dl
rm
qos_dscp_bridge.sh
4325
0755
edit
dl
rm
qos_dscp_router.sh
6764
0755
edit
dl
rm
qos_ets_strict.sh
8810
0755
edit
dl
rm
qos_headroom.sh
8367
0755
edit
dl
rm
qos_lib.sh
1918
0644
edit
dl
rm
qos_mc_aware.sh
9412
0755
edit
dl
rm
qos_pfc.sh
11700
0755
edit
dl
rm
q_in_q_veto.sh
7948
0755
edit
dl
rm
router_scale.sh
2138
0644
edit
dl
rm
rtnetlink.sh
30604
0755
edit
dl
rm
sch_ets.sh
2332
0755
edit
dl
rm
sch_red_core.sh
18014
0644
edit
dl
rm
sch_red_ets.sh
2476
0755
edit
dl
rm
sch_red_prio.sh
81
0755
edit
dl
rm
sch_red_root.sh
1081
0755
edit
dl
rm
sch_tbf_ets.sh
175
0755
edit
dl
rm
sch_tbf_prio.sh
176
0755
edit
dl
rm
sch_tbf_root.sh
176
0755
edit
dl
rm
sharedbuffer.sh
3912
0755
edit
dl
rm
tc_action_hw_stats.sh
2293
0755
edit
dl
rm
tc_flower_scale.sh
2460
0644
edit
dl
rm
tc_police_occ.sh
2120
0755
edit
dl
rm
tc_police_scale.sh
1660
0644
edit
dl
rm
tc_restrictions.sh
11847
0755
edit
dl
rm
tc_sample.sh
17891
0755
edit
dl
rm
vxlan.sh
29996
0755
edit
dl
rm
vxlan_fdb_veto.sh
2955
0755
edit
dl
rm
vxlan_flooding.sh
8849
0755
edit
dl
rm
Edit:
/usr/src/linux-headers-5.15.0-190/tools/testing/selftests/drivers/net/mlxsw/tc_flower_scale.sh
(2460B)
#!/bin/bash # SPDX-License-Identifier: GPL-2.0 # Test for resource limit of offloaded flower rules. The test adds a given # number of flower matches for different IPv6 addresses, then check the offload # indication for all of the tc flower rules. This file contains functions to set # up a testing topology and run the test, and is meant to be sourced from a test # script that calls the testing routine with a given number of rules. TC_FLOWER_NUM_NETIFS=2 tc_flower_h1_create() { simple_if_init $h1 tc qdisc add dev $h1 clsact } tc_flower_h1_destroy() { tc qdisc del dev $h1 clsact simple_if_fini $h1 } tc_flower_h2_create() { simple_if_init $h2 tc qdisc add dev $h2 clsact } tc_flower_h2_destroy() { tc qdisc del dev $h2 clsact simple_if_fini $h2 } tc_flower_setup_prepare() { h1=${NETIFS[p1]} h2=${NETIFS[p2]} vrf_prepare tc_flower_h1_create tc_flower_h2_create } tc_flower_cleanup() { pre_cleanup tc_flower_h2_destroy tc_flower_h1_destroy vrf_cleanup if [[ -v TC_FLOWER_BATCH_FILE ]]; then rm -f $TC_FLOWER_BATCH_FILE fi } tc_flower_addr() { local num=$1; shift printf "2001:db8:1::%x" $num } tc_flower_rules_create() { local count=$1; shift local should_fail=$1; shift TC_FLOWER_BATCH_FILE="$(mktemp)" for ((i = 0; i < count; ++i)); do cat >> $TC_FLOWER_BATCH_FILE <<-EOF filter add dev $h2 ingress \ prot ipv6 \ pref 1000 \ flower $tcflags dst_ip $(tc_flower_addr $i) \ action drop EOF done tc -b $TC_FLOWER_BATCH_FILE check_err_fail $should_fail $? "Rule insertion" } __tc_flower_test() { local count=$1; shift local should_fail=$1; shift local last=$((count - 1)) tc_flower_rules_create $count $should_fail offload_count=$(tc -j -s filter show dev $h2 ingress | jq -r '[ .[] | select(.kind == "flower") | .options | .in_hw ]' | jq .[] | wc -l) [[ $((offload_count - 1)) -eq $count ]] check_err_fail $should_fail $? "Attempt to offload $count rules (actual result $((offload_count - 1)))" } tc_flower_test() { local count=$1; shift local should_fail=$1; shift # We use lower 16 bits of IPv6 address for match. Also there are only 16 # bits of rule priority space. if ((count > 65536)); then check_err 1 "Invalid count of $count. At most 65536 rules supported" return fi if ! tc_offload_check $TC_FLOWER_NUM_NETIFS; then check_err 1 "Could not test offloaded functionality" return fi tcflags="skip_sw" __tc_flower_test $count $should_fail }
Save
cmd:
run