| #!/bin/bash | |
| # SPDX-License-Identifier: GPL-2.0 | |
| lib_dir=$(dirname $0)/forwarding | |
| ALL_TESTS="altnames_test" | |
| NUM_NETIFS=0 | |
| source $lib_dir/lib.sh | |
| DUMMY_DEV=dummytest | |
| SHORT_NAME=shortname | |
| LONG_NAME=someveryveryveryveryveryverylongname | |
| altnames_test() | |
| { | |
| RET=0 | |
| local output | |
| local name | |
| ip link property add $DUMMY_DEV altname $SHORT_NAME | |
| check_err $? "Failed to add short alternative name" | |
| output=$(ip -j -p link show $SHORT_NAME) | |
| check_err $? "Failed to do link show with short alternative name" | |
| name=$(echo $output | jq -e -r ".[0].altnames[0]") | |
| check_err $? "Failed to get short alternative name from link show JSON" | |
| [ "$name" == "$SHORT_NAME" ] | |
| check_err $? "Got unexpected short alternative name from link show JSON" | |
| ip -j -p link show $DUMMY_DEV &>/dev/null | |
| check_err $? "Failed to do link show with original name" | |
| ip link property add $DUMMY_DEV altname $LONG_NAME | |
| check_err $? "Failed to add long alternative name" | |
| output=$(ip -j -p link show $LONG_NAME) | |
| check_err $? "Failed to do link show with long alternative name" | |
| name=$(echo $output | jq -e -r ".[0].altnames[1]") | |
| check_err $? "Failed to get long alternative name from link show JSON" | |
| [ "$name" == "$LONG_NAME" ] | |
| check_err $? "Got unexpected long alternative name from link show JSON" | |
| ip link property del $DUMMY_DEV altname $SHORT_NAME | |
| check_err $? "Failed to delete short alternative name" | |
| ip -j -p link show $SHORT_NAME &>/dev/null | |
| check_fail $? "Unexpected success while trying to do link show with deleted short alternative name" | |
| # long name is left there on purpose to be removed alongside the device | |
| log_test "altnames test" | |
| } | |
| setup_prepare() | |
| { | |
| ip link add name $DUMMY_DEV type dummy | |
| } | |
| cleanup() | |
| { | |
| pre_cleanup | |
| ip link del name $DUMMY_DEV | |
| } | |
| trap cleanup EXIT | |
| setup_prepare | |
| tests_run | |
| exit $EXIT_STATUS |