Sindbad~EG File Manager

Current Path : /usr/tests/sys/common/
Upload File :
Current File : /usr/tests/sys/common/vnet.subr

# $FreeBSD$
# VNAT/jail utility functions
##

vnet_init()
{
	if [ "`sysctl -i -n kern.features.vimage`" != 1 ]; then
		atf_skip "This test requires VIMAGE"
	fi
}

vnet_mkepair()
{
	ifname=$(ifconfig epair create)
	echo $ifname >> created_interfaces.lst
	echo ${ifname%a}b >> created_interfaces.lst
	echo ${ifname%a}
}

vnet_mkbridge()
{
	ifname=$(ifconfig bridge create)
	echo $ifname >> created_interfaces.lst
	echo ${ifname}
}

vnet_mkvlan()
{
	ifname=$(ifconfig vlan create)
	echo ${ifname} >> created_interfaces.lst
	echo ${ifname}
}

vnet_mkloopback()
{
	ifname=$(ifconfig lo create)
	echo $ifname >> created_interfaces.lst
	echo ${ifname}
}

vnet_mkjail()
{
	jailname=$1
	shift

	vnet_interfaces=
	for ifname in $@
	do
		vnet_interfaces="${vnet_interfaces} vnet.interface=${ifname}"
	done
	jail -c name=${jailname} persist vnet ${vnet_interfaces}

	echo $jailname >> created_jails.lst
}

vnet_cleanup()
{
	if [ -f created_jails.lst ]; then
		for jailname in `cat created_jails.lst`
		do
			jail -r ${jailname}
		done
		rm created_jails.lst
	fi

	if [ -f created_interfaces.lst ]; then
		for ifname in `cat created_interfaces.lst`
		do
			ifconfig ${ifname} destroy
		done
		rm created_interfaces.lst
	fi
}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists