brintos

brintos / linux-shallow public Read only

0
0
Text · 2.3 KiB · 5492fa5 Raw
131 lines · bash
1#!/bin/bash2# SPDX-License-Identifier: GPL-2.03 4# Test for port-default priority. Non-IP packets ingress $swp1 and are5# prioritized according to the default priority specified at the port.6# rx_octets_prio_* counters are used to verify the prioritization.7#8# +----------------------------------+9# | H1                               |10# |    + $h1                         |11# |    | 192.0.2.1/28                |12# +----|-----------------------------+13#      |14# +----|-----------------------------+15# | SW |                             |16# |    + $swp1                       |17# |      192.0.2.2/28                |18# |      dcb app default-prio <prio> |19# +----------------------------------+20 21ALL_TESTS="22	ping_ipv423	test_defprio24"25 26lib_dir=$(dirname $0)/../../../net/forwarding27 28NUM_NETIFS=229: ${HIT_TIMEOUT:=1000} # ms30source $lib_dir/lib.sh31 32h1_create()33{34	simple_if_init $h1 192.0.2.1/2835}36 37h1_destroy()38{39	simple_if_fini $h1 192.0.2.1/2840}41 42switch_create()43{44	ip link set dev $swp1 up45	ip addr add dev $swp1 192.0.2.2/2846}47 48switch_destroy()49{50	dcb app flush dev $swp1 default-prio51	ip addr del dev $swp1 192.0.2.2/2852	ip link set dev $swp1 down53}54 55setup_prepare()56{57	h1=${NETIFS[p1]}58	swp1=${NETIFS[p2]}59 60	vrf_prepare61 62	h1_create63	switch_create64}65 66cleanup()67{68	pre_cleanup69 70	switch_destroy71	h1_destroy72 73	vrf_cleanup74}75 76ping_ipv4()77{78	ping_test $h1 192.0.2.279}80 81__test_defprio()82{83	local prio_install=$1; shift84	local prio_observe=$1; shift85	local key86	local t187	local i88 89	RET=090 91	dcb app add dev $swp1 default-prio $prio_install92 93	local t0=$(ethtool_stats_get $swp1 rx_frames_prio_$prio_observe)94	mausezahn -q $h1 -d 100m -c 10 -t arp reply95	t1=$(busywait "$HIT_TIMEOUT" until_counter_is ">= $((t0 + 10))" \96		ethtool_stats_get $swp1 rx_frames_prio_$prio_observe)97 98	check_err $? "Default priority $prio_install/$prio_observe: Expected to capture 10 packets, got $((t1 - t0))."99	log_test "Default priority $prio_install/$prio_observe"100 101	dcb app del dev $swp1 default-prio $prio_install102}103 104test_defprio()105{106	local prio107 108	for prio in {0..7}; do109		__test_defprio $prio $prio110	done111 112	dcb app add dev $swp1 default-prio 3113	__test_defprio 0 3114	__test_defprio 1 3115	__test_defprio 2 3116	__test_defprio 4 4117	__test_defprio 5 5118	__test_defprio 6 6119	__test_defprio 7 7120	dcb app del dev $swp1 default-prio 3121}122 123trap cleanup EXIT124 125setup_prepare126setup_wait127 128tests_run129 130exit $EXIT_STATUS131