#!/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
