]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - tests/sys/common/vnet.subr
bridge: Basic test case
[FreeBSD/FreeBSD.git] / tests / sys / common / vnet.subr
1 # $FreeBSD$
2 # VNAT/jail utility functions
3 ##
4
5 vnet_init()
6 {
7         if [ "`sysctl -i -n kern.features.vimage`" != 1 ]; then
8                 atf_skip "This test requires VIMAGE"
9         fi
10 }
11
12 vnet_mkepair()
13 {
14         ifname=$(ifconfig epair create)
15         echo $ifname >> created_interfaces.lst
16         echo ${ifname%a}
17 }
18
19 vnet_mkbridge()
20 {
21         ifname=$(ifconfig bridge create)
22         echo $ifname >> created_interfaces.lst
23         echo ${ifname}
24 }
25
26 vnet_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
41 vnet_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 }