[PATCH net-next V2 6/7] selftest: netdevsim: Add devlink port resource test

Tariq Toukan posted 7 patches 3 days, 11 hours ago
[PATCH net-next V2 6/7] selftest: netdevsim: Add devlink port resource test
Posted by Tariq Toukan 3 days, 11 hours ago
From: Or Har-Toov <ohartoov@nvidia.com>

Add selftest to verify port-level resource functionality using netdevsim.

Signed-off-by: Or Har-Toov <ohartoov@nvidia.com>
Reviewed-by: Shay Drori <shayd@nvidia.com>
Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
---
 .../drivers/net/netdevsim/devlink.sh          | 37 ++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/drivers/net/netdevsim/devlink.sh b/tools/testing/selftests/drivers/net/netdevsim/devlink.sh
index 1b529ccaf050..272e60eb7bfe 100755
--- a/tools/testing/selftests/drivers/net/netdevsim/devlink.sh
+++ b/tools/testing/selftests/drivers/net/netdevsim/devlink.sh
@@ -5,7 +5,7 @@ lib_dir=$(dirname $0)/../../../net/forwarding
 
 ALL_TESTS="fw_flash_test params_test  \
 	   params_default_test regions_test reload_test \
-	   netns_reload_test resource_test dev_info_test \
+	   netns_reload_test resource_test port_resource_test dev_info_test \
 	   empty_reporter_test dummy_reporter_test rate_test"
 NUM_NETIFS=0
 source $lib_dir/lib.sh
@@ -856,6 +856,41 @@ rate_test()
 	log_test "rate test"
 }
 
+port_resource_test()
+{
+	RET=0
+
+	if ! devlink port help 2>&1 | grep -q resource; then
+		echo "SKIP: missing devlink port resource support"
+		return
+	fi
+
+	local first_port="${DL_HANDLE}/0"
+	local name
+	local size
+
+	devlink port resource show "$first_port" > /dev/null 2>&1
+	check_err $? "Failed to show port resource for $first_port"
+
+	name=$(cmd_jq "devlink port resource show $first_port -j" \
+		      ".[][][].name")
+	[ "$name" == "max_sfs" ]
+	check_err $? "Unexpected resource name $name (expected max_sfs)"
+
+	size=$(cmd_jq "devlink port resource show $first_port -j" \
+		      ".[][][].size")
+	[ "$size" == "20" ]
+	check_err $? "Unexpected resource size $size (expected 20)"
+
+	devlink port resource show "$DL_HANDLE" > /dev/null 2>&1
+	check_err $? "Failed to show port resources for $DL_HANDLE"
+
+	devlink port resource show > /dev/null 2>&1
+	check_err $? "Failed to dump all port resources"
+
+	log_test "port resource test"
+}
+
 setup_prepare()
 {
 	modprobe netdevsim
-- 
2.44.0
Re: [PATCH net-next V2 6/7] selftest: netdevsim: Add devlink port resource test
Posted by Jiri Pirko 2 days, 16 hours ago
Thu, Feb 05, 2026 at 03:28:32PM +0100, tariqt@nvidia.com wrote:
>From: Or Har-Toov <ohartoov@nvidia.com>
>
>Add selftest to verify port-level resource functionality using netdevsim.
>
>Signed-off-by: Or Har-Toov <ohartoov@nvidia.com>
>Reviewed-by: Shay Drori <shayd@nvidia.com>
>Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
>Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
>---
> .../drivers/net/netdevsim/devlink.sh          | 37 ++++++++++++++++++-
> 1 file changed, 36 insertions(+), 1 deletion(-)
>
>diff --git a/tools/testing/selftests/drivers/net/netdevsim/devlink.sh b/tools/testing/selftests/drivers/net/netdevsim/devlink.sh
>index 1b529ccaf050..272e60eb7bfe 100755
>--- a/tools/testing/selftests/drivers/net/netdevsim/devlink.sh
>+++ b/tools/testing/selftests/drivers/net/netdevsim/devlink.sh
>@@ -5,7 +5,7 @@ lib_dir=$(dirname $0)/../../../net/forwarding
> 
> ALL_TESTS="fw_flash_test params_test  \
> 	   params_default_test regions_test reload_test \
>-	   netns_reload_test resource_test dev_info_test \
>+	   netns_reload_test resource_test port_resource_test dev_info_test \
> 	   empty_reporter_test dummy_reporter_test rate_test"
> NUM_NETIFS=0
> source $lib_dir/lib.sh
>@@ -856,6 +856,41 @@ rate_test()
> 	log_test "rate test"
> }
> 
>+port_resource_test()
>+{
>+	RET=0
>+
>+	if ! devlink port help 2>&1 | grep -q resource; then
>+		echo "SKIP: missing devlink port resource support"
>+		return
>+	fi
>+
>+	local first_port="${DL_HANDLE}/0"
>+	local name
>+	local size
>+
>+	devlink port resource show "$first_port" > /dev/null 2>&1
>+	check_err $? "Failed to show port resource for $first_port"
>+
>+	name=$(cmd_jq "devlink port resource show $first_port -j" \
>+		      ".[][][].name")
>+	[ "$name" == "max_sfs" ]

Test resource name not updated.



>+	check_err $? "Unexpected resource name $name (expected max_sfs)"
>+
>+	size=$(cmd_jq "devlink port resource show $first_port -j" \
>+		      ".[][][].size")
>+	[ "$size" == "20" ]
>+	check_err $? "Unexpected resource size $size (expected 20)"
>+
>+	devlink port resource show "$DL_HANDLE" > /dev/null 2>&1
>+	check_err $? "Failed to show port resources for $DL_HANDLE"
>+
>+	devlink port resource show > /dev/null 2>&1
>+	check_err $? "Failed to dump all port resources"
>+
>+	log_test "port resource test"
>+}
>+
> setup_prepare()
> {
> 	modprobe netdevsim
>-- 
>2.44.0
>