[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210207084412.252259-8-parav@nvidia.com>
Date: Sun, 7 Feb 2021 10:44:12 +0200
From: Parav Pandit <parav@...dia.com>
To: <netdev@...r.kernel.org>, <davem@...emloft.net>, <kuba@...nel.org>
CC: Parav Pandit <parav@...dia.com>
Subject: [PATCH net-next v2 7/7] netdevsim: Add netdevsim port add test cases
Add tests for PCI PF and SF port add, configure and delete.
Signed-off-by: Parav Pandit <parav@...dia.com>
---
.../drivers/net/netdevsim/devlink.sh | 72 ++++++++++++++++++-
1 file changed, 71 insertions(+), 1 deletion(-)
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
--
2.26.2
Powered by blists - more mailing lists