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

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

File Facts

System
Linux kernel
Corpus path
tools/testing/selftests/drivers/net/mlxsw/port_range_occ.sh
Extension
.sh
Size
2384 bytes
Lines
112
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 filters that match on the same port range, but with different
# combination of IPv4/IPv6 and TCP/UDP all use the same port range register by
# observing port range registers' occupancy via devlink-resource.

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

ALL_TESTS="
	port_range_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
}

port_range_occ_get()
{
	devlink_resource_occ_get port_range_registers
}

port_range_occ_test()
{
	RET=0

	local occ=$(port_range_occ_get)

Annotation

Implementation Notes