hc
2024-01-05 071106ecf68c401173c58808b1cf5f68cc50d390
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/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