/usr/src/linux-headers-5.15.0-190/tools/testing/selftests/drivers/net/mlxsw
NameSizeModeActions
spectrum/-0755rm
spectrum-2/-0755rm
blackhole_routes.sh50750755editdlrm
devlink_trap.sh19280755editdlrm
devlink_trap_acl_drops.sh24580755editdlrm
devlink_trap_control.sh183990755editdlrm
devlink_trap_l2_drops.sh99660755editdlrm
devlink_trap_l3_drops.sh168120755editdlrm
devlink_trap_l3_exceptions.sh140980755editdlrm
devlink_trap_policer.sh94410755editdlrm
devlink_trap_tunnel_ipip.sh60350755editdlrm
devlink_trap_tunnel_vxlan.sh89890755editdlrm
ethtool_lanes.sh40260755editdlrm
extack.sh34710755editdlrm
fib.sh55620755editdlrm
fib_offload.sh101640755editdlrm
mirror_gre.sh44470755editdlrm
mirror_gre_scale.sh57820644editdlrm
mlxsw_lib.sh3620644editdlrm
one_armed_router.sh69500755editdlrm
port_scale.sh13910644editdlrm
qos_defprio.sh27380755editdlrm
qos_dscp_bridge.sh43250755editdlrm
qos_dscp_router.sh67640755editdlrm
qos_ets_strict.sh88100755editdlrm
qos_headroom.sh83670755editdlrm
qos_lib.sh19180644editdlrm
qos_mc_aware.sh94120755editdlrm
qos_pfc.sh117000755editdlrm
q_in_q_veto.sh79480755editdlrm
router_scale.sh21380644editdlrm
rtnetlink.sh306040755editdlrm
sch_ets.sh23320755editdlrm
sch_red_core.sh180140644editdlrm
sch_red_ets.sh24760755editdlrm
sch_red_prio.sh810755editdlrm
sch_red_root.sh10810755editdlrm
sch_tbf_ets.sh1750755editdlrm
sch_tbf_prio.sh1760755editdlrm
sch_tbf_root.sh1760755editdlrm
sharedbuffer.sh39120755editdlrm
tc_action_hw_stats.sh22930755editdlrm
tc_flower_scale.sh24600644editdlrm
tc_police_occ.sh21200755editdlrm
tc_police_scale.sh16600644editdlrm
tc_restrictions.sh118470755editdlrm
tc_sample.sh178910755editdlrm
vxlan.sh299960755editdlrm
vxlan_fdb_veto.sh29550755editdlrm
vxlan_flooding.sh88490755editdlrm
Edit: /usr/src/linux-headers-5.15.0-190/tools/testing/selftests/drivers/net/mlxsw/qos_lib.sh (1918B)
# SPDX-License-Identifier: GPL-2.0 check_rate() { local rate=$1; shift local min=$1; shift local what=$1; shift if ((rate > min)); then return 0 fi echo "$what $(humanize $ir) < $(humanize $min)" > /dev/stderr return 1 } measure_rate() { local sw_in=$1; shift # Where the traffic ingresses the switch local host_in=$1; shift # Where it ingresses another host local counter=$1; shift # Counter to use for measurement local what=$1; shift local interval=10 local i local ret=0 # Dips in performance might cause momentary ingress rate to drop below # 1Gbps. That wouldn't saturate egress and MC would thus get through, # seemingly winning bandwidth on account of UC. Demand at least 2Gbps # average ingress rate to somewhat mitigate this. local min_ingress=2147483648 for i in {5..0}; do local t0=$(ethtool_stats_get $host_in $counter) local u0=$(ethtool_stats_get $sw_in $counter) sleep $interval local t1=$(ethtool_stats_get $host_in $counter) local u1=$(ethtool_stats_get $sw_in $counter) local ir=$(rate $u0 $u1 $interval) local er=$(rate $t0 $t1 $interval) if check_rate $ir $min_ingress "$what ingress rate"; then break fi # Fail the test if we can't get the throughput. if ((i == 0)); then ret=1 fi done echo $ir $er return $ret } bail_on_lldpad() { if systemctl is-active --quiet lldpad; then cat >/dev/stderr <<-EOF WARNING: lldpad is running lldpad will likely configure DCB, and this test will configure Qdiscs. mlxsw does not support both at the same time, one of them is arbitrarily going to overwrite the other. That will cause spurious failures (or, unlikely, passes) of this test. EOF if [[ -z $ALLOW_LLDPAD ]]; then cat >/dev/stderr <<-EOF If you want to run the test anyway, please set an environment variable ALLOW_LLDPAD to a non-empty string. EOF exit 1 else return fi fi }