1#!/bin/bash 2# SPDX-License-Identifier: GPL-2.0 3 4lib_dir=$(dirname $0)/forwarding 5 6ALL_TESTS="altnames_test" 7NUM_NETIFS=0 8source $lib_dir/lib.sh 9 10DUMMY_DEV=dummytest 11SHORT_NAME=shortname 12LONG_NAME=someveryveryveryveryveryverylongname 13 14altnames_test() 15{ 16 RET=0 17 local output 18 local name 19 20 ip link property add $DUMMY_DEV altname $SHORT_NAME 21 check_err $? "Failed to add short alternative name" 22 23 output=$(ip -j -p link show $SHORT_NAME) 24 check_err $? "Failed to do link show with short alternative name" 25 26 name=$(echo $output | jq -e -r ".[0].altnames[0]") 27 check_err $? "Failed to get short alternative name from link show JSON" 28 29 [ "$name" == "$SHORT_NAME" ] 30 check_err $? "Got unexpected short alternative name from link show JSON" 31 32 ip -j -p link show $DUMMY_DEV &>/dev/null 33 check_err $? "Failed to do link show with original name" 34 35 ip link property add $DUMMY_DEV altname $LONG_NAME 36 check_err $? "Failed to add long alternative name" 37 38 output=$(ip -j -p link show $LONG_NAME) 39 check_err $? "Failed to do link show with long alternative name" 40 41 name=$(echo $output | jq -e -r ".[0].altnames[1]") 42 check_err $? "Failed to get long alternative name from link show JSON" 43 44 [ "$name" == "$LONG_NAME" ] 45 check_err $? "Got unexpected long alternative name from link show JSON" 46 47 ip link property del $DUMMY_DEV altname $SHORT_NAME 48 check_err $? "Failed to add short alternative name" 49 50 ip -j -p link show $SHORT_NAME &>/dev/null 51 check_fail $? "Unexpected success while trying to do link show with deleted short alternative name" 52 53 # long name is left there on purpose to be removed alongside the device 54 55 log_test "altnames test" 56} 57 58setup_prepare() 59{ 60 ip link add name $DUMMY_DEV type dummy 61} 62 63cleanup() 64{ 65 pre_cleanup 66 ip link del name $DUMMY_DEV 67} 68 69trap cleanup EXIT 70 71setup_prepare 72 73tests_run 74 75exit $EXIT_STATUS 76