tools/testing/selftests/drivers/net/mlxsw/tc_police_occ.sh

Source file repositories/reference/linux-study-clean/tools/testing/selftests/drivers/net/mlxsw/tc_police_occ.sh

File Facts

System
Linux kernel
Corpus path
tools/testing/selftests/drivers/net/mlxsw/tc_police_occ.sh
Extension
.sh
Size
2120 bytes
Lines
109
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: tools
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
#
# Test that policers shared by different tc filters are correctly reference
# counted by observing policers' occupancy via devlink-resource.

lib_dir=$(dirname $0)/../../../net/forwarding

ALL_TESTS="
	tc_police_occ_test
"
NUM_NETIFS=2
source $lib_dir/lib.sh
source $lib_dir/devlink_lib.sh

h1_create()
{
	simple_if_init $h1
}

h1_destroy()
{
	simple_if_fini $h1
}

switch_create()
{
	simple_if_init $swp1
	tc qdisc add dev $swp1 clsact
}

switch_destroy()
{
	tc qdisc del dev $swp1 clsact
	simple_if_fini $swp1
}

setup_prepare()
{
	h1=${NETIFS[p1]}
	swp1=${NETIFS[p2]}

	vrf_prepare

	h1_create
	switch_create
}

cleanup()
{
	pre_cleanup

	switch_destroy
	h1_destroy

	vrf_cleanup
}

tc_police_occ_get()
{
	devlink_resource_occ_get global_policers single_rate_policers
}

tc_police_occ_test()
{
	RET=0

	local occ=$(tc_police_occ_get)

	tc filter add dev $swp1 ingress pref 1 handle 101 proto ip \

Annotation

Implementation Notes