1# $FreeBSD$
2# VNAT/jail utility functions
3##
4
5vnet_init()
6{
7	if [ "`sysctl -i -n kern.features.vimage`" != 1 ]; then
8		atf_skip "This test requires VIMAGE"
9	fi
10}
11
12vnet_mkepair()
13{
14	ifname=$(ifconfig epair create)
15	echo $ifname >> created_interfaces.lst
16	echo ${ifname%a}
17}
18
19vnet_mkbridge()
20{
21	ifname=$(ifconfig bridge create)
22	echo $ifname >> created_interfaces.lst
23	echo ${ifname}
24}
25
26vnet_mkjail()
27{
28	jailname=$1
29	shift
30
31	vnet_interfaces=
32	for ifname in $@
33	do
34		vnet_interfaces="${vnet_interfaces} vnet.interface=${ifname}"
35	done
36	jail -c name=${jailname} persist vnet ${vnet_interfaces}
37
38	echo $jailname >> created_jails.lst
39}
40
41vnet_cleanup()
42{
43	if [ -f created_jails.lst ]; then
44		for jailname in `cat created_jails.lst`
45		do
46			jail -r ${jailname}
47		done
48		rm created_jails.lst
49	fi
50
51	if [ -f created_interfaces.lst ]; then
52		for ifname in `cat created_interfaces.lst`
53		do
54			ifconfig ${ifname} destroy
55		done
56		rm created_interfaces.lst
57	fi
58}
59