1# $Id: test_wrapper.sh,v 1.2 2016/09/04 15:24:50 vgross Exp $
2
3TESTIFACE="vether2323"
4TESTNET=$(jot -r -s ':' -w %x 2 0 65535)
5DESTADDR="fd00:${TESTNET}::100"
6FIRSTADDR="fd00:${TESTNET}::1"
7BASEADDR="fd00:${TESTNET}::2"
8ADDR_3="fd00:${TESTNET}::3"
9ADDR_4="fd00:${TESTNET}::4"
10ABSENTADDR="fd00:${TESTNET}::5"
11
12if ifconfig $TESTIFACE 2> /dev/null
13then
14	echo "Interface $TESTIFACE already exists, and this test will change its configuration"
15	echo "Make sure this interface does not exist to run this test"
16	echo "SKIPPED"
17	exit
18fi
19
20if ! [[ -n ${PROG} && -x ${PROG} ]]
21then
22	echo "PROG not set or not an executable file"
23	echo "SKIPPED"
24	exit
25fi
26
27trap "${SUDO} ifconfig ${TESTIFACE} destroy" EXIT ERR HUP INT QUIT TERM
28
29${SUDO} ifconfig ${TESTIFACE} inet6 ${DESTADDR}/64
30${SUDO} ifconfig ${TESTIFACE} inet6 ${FIRSTADDR}/64
31${SUDO} ifconfig ${TESTIFACE} inet6 ${BASEADDR}/64
32${SUDO} ifconfig ${TESTIFACE} inet6 ${ADDR_3}/64
33${SUDO} ifconfig ${TESTIFACE} inet6 ${ADDR_4}/64
34sleep 1
35set -ex
36${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b ${BASEADDR} -e 0
37${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b ${BASEADDR} -o ${ADDR_3} -e 0
38${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b ${BASEADDR} -m ${ADDR_3} -e 0
39${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b ${BASEADDR} -o ${BASEADDR} -e 0
40${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b ${BASEADDR} -m ${BASEADDR} -e 0
41${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b ${BASEADDR} -o ${ABSENTADDR} -e 49
42${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b ${BASEADDR} -m ${ABSENTADDR} -e 49
43${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b ${BASEADDR} -o ${FIRSTADDR} -e 48
44${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b ${BASEADDR} -m ${FIRSTADDR} -e 48
45${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b :: -e 0
46${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b :: -o ${ADDR_3} -e 0
47${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b :: -m ${ADDR_3} -e 0
48${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b :: -o ${FIRSTADDR} -e 0
49${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b :: -m ${FIRSTADDR} -e 0
50${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b ${BASEADDR} -o :: -e 0
51${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b ${BASEADDR} -m :: -e 0
52${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b ${BASEADDR} -o ${ADDR_3} -m ${ADDR_4} -e 0
53${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b ${BASEADDR} -o ${ABSENTADDR} -m ${ADDR_4} -e 0
54${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b ${BASEADDR} -o ${ADDR_3} -m :: -e 0
55${PROG} -d ${DESTADDR} -f ${FIRSTADDR} -b ${BASEADDR} -o ${FIRSTADDR} -m :: -e 0
56${PROG} -d ${DESTADDR} -b :: -e 0
57${PROG} -d ${DESTADDR} -b :: -o ${ADDR_3} -e 0
58${PROG} -d ${DESTADDR} -b :: -m ${ADDR_3} -e 0
59set +ex
60