Path: blob/master/tools/testing/selftests/drivers/net/mlxsw/qos_defprio.sh
26292 views
#!/bin/bash1# SPDX-License-Identifier: GPL-2.023# Test for port-default priority. Non-IP packets ingress $swp1 and are4# prioritized according to the default priority specified at the port.5# rx_octets_prio_* counters are used to verify the prioritization.6#7# +----------------------------------+8# | H1 |9# | + $h1 |10# | | 192.0.2.1/28 |11# +----|-----------------------------+12# |13# +----|-----------------------------+14# | SW | |15# | + $swp1 |16# | 192.0.2.2/28 |17# | dcb app default-prio <prio> |18# +----------------------------------+1920ALL_TESTS="21ping_ipv422test_defprio23"2425lib_dir=$(dirname $0)/../../../net/forwarding2627NUM_NETIFS=228: ${HIT_TIMEOUT:=1000} # ms29source $lib_dir/lib.sh3031h1_create()32{33simple_if_init $h1 192.0.2.1/2834}3536h1_destroy()37{38simple_if_fini $h1 192.0.2.1/2839}4041switch_create()42{43ip link set dev $swp1 up44ip addr add dev $swp1 192.0.2.2/2845}4647switch_destroy()48{49dcb app flush dev $swp1 default-prio50ip addr del dev $swp1 192.0.2.2/2851ip link set dev $swp1 down52}5354setup_prepare()55{56h1=${NETIFS[p1]}57swp1=${NETIFS[p2]}5859vrf_prepare6061h1_create62switch_create63}6465cleanup()66{67pre_cleanup6869switch_destroy70h1_destroy7172vrf_cleanup73}7475ping_ipv4()76{77ping_test $h1 192.0.2.278}7980__test_defprio()81{82local prio_install=$1; shift83local prio_observe=$1; shift84local key85local t186local i8788RET=08990dcb app add dev $swp1 default-prio $prio_install9192local t0=$(ethtool_stats_get $swp1 rx_frames_prio_$prio_observe)93mausezahn -q $h1 -d 100m -c 10 -t arp reply94t1=$(busywait "$HIT_TIMEOUT" until_counter_is ">= $((t0 + 10))" \95ethtool_stats_get $swp1 rx_frames_prio_$prio_observe)9697check_err $? "Default priority $prio_install/$prio_observe: Expected to capture 10 packets, got $((t1 - t0))."98log_test "Default priority $prio_install/$prio_observe"99100dcb app del dev $swp1 default-prio $prio_install101}102103test_defprio()104{105local prio106107for prio in {0..7}; do108__test_defprio $prio $prio109done110111dcb app add dev $swp1 default-prio 3112__test_defprio 0 3113__test_defprio 1 3114__test_defprio 2 3115__test_defprio 4 4116__test_defprio 5 5117__test_defprio 6 6118__test_defprio 7 7119dcb app del dev $swp1 default-prio 3120}121122trap cleanup EXIT123124setup_prepare125setup_wait126127tests_run128129exit $EXIT_STATUS130131132