xref: /openbsd/regress/sys/net/vxlan/vxlan_subr (revision 73471bf0)
1#
2# Copyright (c) 2015 Vincent Gross <vgross@openbsd.org>
3#
4# Permission to use, copy, modify, and distribute this software for any
5# purpose with or without fee is hereby granted, provided that the above
6# copyright notice and this permission notice appear in all copies.
7#
8# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15
16CLEANUP=0
17VERBOSE=0
18FAILS=0
19
20iface_exists()
21{
22	ifconfig_out=`ifconfig "$1" 2>&1`
23	[ "${ifconfig_out}" != "$1: no such interface" ]
24}
25
26rdomain_is_used()
27{
28	_rdomains=$(ifconfig |grep -v ^lo$1 | \
29	     sed -n '/^[a-z].* rdomain \([0-9]*\).*/s//\1/p' | sort | uniq)
30	for _r in $_rdomains; do
31		if [ $_r = $1 ]; then
32			return 1
33		fi
34	done
35	return 0
36}
37
38abort_test()
39{
40	echo "** Aborted" >&2
41	[ $# -ge 0 ] && echo "$1" >&2
42	cleanup
43	exit 1
44}
45
46test()
47{
48	if [ $VERBOSE -gt 0 ]; then
49		"$@"
50	else
51		"$@" > /dev/null 2>&1
52	fi
53	if [ $? -ne 0 ]; then
54		FAILS=$((FAILS + 1))
55	fi
56}
57
58RDOMAINS=""
59IFACE_NUMS=""
60AF=inet
61while getopts 'cvR:I:f:' ch "$@"; do
62	case $ch in
63	c)
64		CLEANUP=1
65		;;
66	v)
67		VERBOSE=$((VERBOSE + 1))
68		;;
69	R)
70		RDOMAINS="$RDOMAINS $OPTARG"
71		;;
72	I)
73		IFACE_NUMS="$IFACE_NUMS $OPTARG"
74		;;
75	f)
76		AF=$OPTARG
77		;;
78	*)
79		echo "usage: $(basename $0) [-cv][-R rodmains][-I iface_nums]"
80		exit 64
81		;;
82	esac
83done
84