Index: tests/sys/common/vnet.subr =================================================================== --- tests/sys/common/vnet.subr +++ tests/sys/common/vnet.subr @@ -1,7 +1,16 @@ -# $FreeBSD$ -# VNAT/jail utility functions +# VNET/jail utility functions ## +list_interface() +{ + echo $1 >> created_interfaces.lst +} + +unlist_interface() +{ + sed -i "" /^$1\$/d created_interfaces.lst +} + vnet_init() { if [ "`sysctl -i -n kern.features.vimage`" != 1 ]; then @@ -12,29 +21,29 @@ vnet_mkepair() { ifname=$(ifconfig epair create) - echo $ifname >> created_interfaces.lst - echo ${ifname%a}b >> created_interfaces.lst + list_interface $ifname + list_interface ${ifname%a}b echo ${ifname%a} } vnet_mkbridge() { ifname=$(ifconfig bridge create) - echo $ifname >> created_interfaces.lst + list_interface $ifname echo ${ifname} } vnet_mkvlan() { ifname=$(ifconfig vlan create) - echo ${ifname} >> created_interfaces.lst + list_interface $ifname echo ${ifname} } vnet_mkloopback() { ifname=$(ifconfig lo create) - echo $ifname >> created_interfaces.lst + list_interface $ifname echo ${ifname} } @@ -47,19 +56,32 @@ for ifname in $@ do vnet_interfaces="${vnet_interfaces} vnet.interface=${ifname}" + unlist_interface $ifname done jail -c name=${jailname} persist vnet ${vnet_interfaces} - echo $jailname >> created_jails.lst + echo $jailname $@ >> created_jails.lst +} + +vnet_ifmove() +{ + ifname=$1 + jailname=$2 + + ifconfig ${ifname} vnet ${jailname} + unlist_interface $ifname + sed -i "" "/^${jailname}/s/\$/ ${ifname}/" created_jails.lst } vnet_cleanup() { if [ -f created_jails.lst ]; then - for jailname in `cat created_jails.lst` - do + while read jailname ifnames; do + for ifname in ${ifnames}; do + jexec ${jailname} ifconfig ${ifname} destroy + done jail -r ${jailname} - done + done < created_jails.lst rm created_jails.lst fi Index: tests/sys/netpfil/pf/set_skip.sh =================================================================== --- tests/sys/netpfil/pf/set_skip.sh +++ tests/sys/netpfil/pf/set_skip.sh @@ -105,7 +105,7 @@ epair=$(vnet_mkepair) ifconfig ${epair}a 192.0.2.2/24 up - ifconfig ${epair}b vnet alcatraz + vnet_ifmove ${epair}b alcatraz jexec alcatraz ifconfig ${epair}b 192.0.2.1/24 up