Path: blob/master/tools/testing/selftests/drivers/net/mlxsw/mlxsw_lib.sh
26292 views
#!/bin/bash1# SPDX-License-Identifier: GPL-2.023##############################################################################4# Defines56if [[ ! -v MLXSW_CHIP ]]; then7MLXSW_CHIP=$(devlink -j dev info $DEVLINK_DEV | jq -r '.[][]["driver"]')8if [ -z "$MLXSW_CHIP" ]; then9echo "SKIP: Device $DEVLINK_DEV doesn't support devlink info command"10exit 111fi12fi1314MLXSW_SPECTRUM_REV=$(case $MLXSW_CHIP in15mlxsw_spectrum)16echo 1 ;;17mlxsw_spectrum*)18echo ${MLXSW_CHIP#mlxsw_spectrum} ;;19*)20echo "Couldn't determine Spectrum chip revision." \21> /dev/stderr ;;22esac)2324mlxsw_on_spectrum()25{26local rev=$1; shift27local op="=="28local rev2=${rev%+}2930if [[ $rev2 != $rev ]]; then31op=">="32fi3334((MLXSW_SPECTRUM_REV $op rev2))35}3637__mlxsw_only_on_spectrum()38{39local rev=$1; shift40local caller=$1; shift41local src=$1; shift4243if ! mlxsw_on_spectrum "$rev"; then44log_test_xfail $src:$caller "(Spectrum-$rev only)"45return 146fi47}4849mlxsw_only_on_spectrum()50{51local caller=${FUNCNAME[1]}52local src=${BASH_SOURCE[1]}53local rev5455for rev in "$@"; do56if __mlxsw_only_on_spectrum "$rev" "$caller" "$src"; then57return 058fi59done6061return 162}6364mlxsw_max_descriptors_get()65{66local spectrum_rev=$MLXSW_SPECTRUM_REV6768case $spectrum_rev in691) echo 81920 ;;702) echo 136960 ;;713) echo 204800 ;;724) echo 220000 ;;73*) echo "Unknown max descriptors for chip revision." > /dev/stderr74return 1 ;;75esac76}777879