diff mbox series

[net-next,7/7] netdevsim: Add netdevsim port add test cases

Message ID 20210206125551.8616-8-parav@nvidia.com
State Superseded
Headers show
Series netdevsim port add, delete support | expand

Commit Message

Parav Pandit Feb. 6, 2021, 12:55 p.m. UTC
Add tests for PCI PF and SF port add, configure and delete using user
specified port index and sfumber; and also using auto generated port
index.

Signed-off-by: Parav Pandit <parav@nvidia.com>
---
 .../drivers/net/netdevsim/devlink.sh          | 72 ++++++++++++++++++-
 1 file changed, 71 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/tools/testing/selftests/drivers/net/netdevsim/devlink.sh b/tools/testing/selftests/drivers/net/netdevsim/devlink.sh
index 40909c254365..ba349909a37e 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 regions_test reload_test \
 	   netns_reload_test resource_test dev_info_test \
-	   empty_reporter_test dummy_reporter_test"
+	   empty_reporter_test dummy_reporter_test devlink_port_add_test"
 NUM_NETIFS=0
 source $lib_dir/lib.sh
 
@@ -507,6 +507,76 @@  dummy_reporter_test()
 	log_test "dummy reporter test"
 }
 
+function_state_get()
+{
+	local name=$1
+
+	cmd_jq "devlink port show $DL_HANDLE/$USR_SF_PORT_INDEX -j" \
+		" .[][].function.$1"
+}
+
+devlink_port_add_test()
+{
+	RET=0
+	USR_PF_PORT_INDEX=600
+	USR_PFNUM_A=2
+	USR_PFNUM_B=3
+	USR_SF_PORT_INDEX=601
+	USR_SFNUM_A=44
+	USR_SFNUM_B=55
+
+	devlink port add $DL_HANDLE flavour pcipf pfnum $USR_PFNUM_A
+	check_err $? "Failed PF port addition"
+
+	devlink port show
+	check_err $? "Failed PF port show"
+
+	devlink port add $DL_HANDLE flavour pcisf pfnum $USR_PFNUM_A
+	check_err $? "Failed SF port addition"
+
+	devlink port add $DL_HANDLE flavour pcisf pfnum $USR_PFNUM_A \
+			sfnum $USR_SFNUM_A
+	check_err $? "Failed SF port addition"
+
+	devlink port add $DL_HANDLE flavour pcipf pfnum $USR_PFNUM_B
+	check_err $? "Failed second PF port addition"
+
+	devlink port add $DL_HANDLE/$USR_SF_PORT_INDEX flavour pcisf \
+			pfnum $USR_PFNUM_B sfnum $USR_SFNUM_B
+	check_err $? "Failed SF port addition"
+
+	devlink port show
+	check_err $? "Failed PF port show"
+
+	state=$(function_state_get "state")
+	check_err $? "Failed to get function state"
+	[ "$state" == "inactive" ]
+	check_err $? "Unexpected function state $state"
+
+	state=$(function_state_get "opstate")
+	check_err $? "Failed to get operational state"
+	[ "$state" == "detached" ]
+	check_err $? "Unexpected function opstate $opstate"
+
+	devlink port function set $DL_HANDLE/$USR_SF_PORT_INDEX state active
+	check_err $? "Failed to set state"
+
+	state=$(function_state_get "state")
+	check_err $? "Failed to get function state"
+	[ "$state" == "active" ]
+	check_err $? "Unexpected function state $state"
+
+	state=$(function_state_get "opstate")
+	check_err $? "Failed to get operational state"
+	[ "$state" == "attached" ]
+	check_err $? "Unexpected function opstate $opstate"
+
+	devlink port del $DL_HANDLE/$USR_SF_PORT_INDEX
+	check_err $? "Failed SF port deletion"
+
+	log_test "port_add test"
+}
+
 setup_prepare()
 {
 	modprobe netdevsim