selftests: mlxsw: Check device info on activated line card
authorJiri Pirko <jiri@nvidia.com>
Mon, 25 Apr 2022 03:44:31 +0000 (06:44 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 25 Apr 2022 09:42:29 +0000 (10:42 +0100)
Once line card is activated, check the device FW version is exposed.

Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/drivers/net/mlxsw/devlink_linecard.sh

index 04bedd98eb8baa457df93d7faee7c03d13bfb07d..53a65f416770d41f9dbff8719169e487176432d3 100755 (executable)
@@ -259,6 +259,26 @@ interface_check()
        setup_wait
 }
 
+lc_devices_info_check()
+{
+       local lc=$1
+       local expected_device_count=$2
+       local device_count
+       local device
+       local running_device_fw
+
+       device_count=$(devlink lc info $DEVLINK_DEV lc $lc -j | \
+                      jq -e -r ".[][][].devices |length")
+       check_err $? "Failed to get linecard $lc device count"
+       for (( device=0; device<device_count; device++ ))
+       do
+               running_device_fw=$(devlink lc -v info $DEVLINK_DEV lc $lc -j | \
+                                   jq -e -r ".[][][].devices[$device].versions.running.fw")
+               check_err $? "Failed to get linecard $lc device $device running fw version"
+               log_info "Linecard $lc device $device running.fw: \"$running_device_fw\""
+       done
+}
+
 activation_16x100G_test()
 {
        RET=0
@@ -275,6 +295,8 @@ activation_16x100G_test()
                $ACTIVATION_TIMEOUT)
        check_err $? "Failed to get linecard $lc activated (timeout)"
 
+       lc_devices_info_check $lc $LC_16X100G_DEVICE_COUNT
+
        interface_check
 
        log_test "Activation 16x100G"