# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: ifconfig.sh,v 1.59 2010/06/11 23:46:49 tbox Exp $
-
#
# Set up interface aliases for bind9 system tests.
#
# IPv4: 10.53.0.{1..8} RFC 1918
+# 10.53.1.{0..2}
+# 10.53.2.{0..2}
# IPv6: fd92:7065:b8e:ffff::{1..8} ULA
+# fd92:7065:b8e:99ff::{1..2}
+# fd92:7065:b8e:ff::{1..2}
#
config_guess=""
*) sys=`sh $config_guess` ;;
esac
-case "$2" in
- [1-9]|[1-9][0-9]|[1-9][0-9][0-9]) base=$2;;
- *) base="1"
-esac
-
-case "$3" in
- [1-9]|[1-9][0-9]|[1-9][0-9][0-9]) base6=$3;;
- *) base6=$base
-esac
-
case "$1" in
start|up)
- for ns in 1 2 3 4 5 6 7 8
+ for i in 0 1 2
do
- if test -n "$base"
- then
- int=`expr $ns + $base - 1`
- else
- int=$ns
- fi
- if test -n "$base6"
- then
- int6=`expr $ns + $base6 - 1`
- else
- int6=$ns
- fi
- case "$sys" in
- *-pc-solaris2.5.1)
- ifconfig lo0:$int 10.53.0.$ns netmask 0xffffffff up
- ;;
- *-sun-solaris2.[6-7])
- ifconfig lo0:$int 10.53.0.$ns netmask 0xffffffff up
- ;;
- *-*-solaris2.[8-9]|*-*-solaris2.1[0-9])
- /sbin/ifconfig lo0:$int plumb
- /sbin/ifconfig lo0:$int 10.53.0.$ns up
- if test -n "$int6"
- then
- /sbin/ifconfig lo0:$int6 inet6 plumb
- /sbin/ifconfig lo0:$int6 \
- inet6 fd92:7065:b8e:ffff::$ns up
- fi
- ;;
- *-*-linux*)
- ifconfig lo:$int 10.53.0.$ns up netmask 255.255.255.0
- ifconfig lo inet6 add fd92:7065:b8e:ffff::$ns/64
- ;;
- *-unknown-freebsd*)
- ifconfig lo0 10.53.0.$ns alias netmask 0xffffffff
- ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns alias
- ;;
- *-unknown-netbsd*)
- ifconfig lo0 10.53.0.$ns alias netmask 255.255.255.0
- ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns alias
- ;;
- *-unknown-openbsd*)
- ifconfig lo0 10.53.0.$ns alias netmask 255.255.255.0
- ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns alias
- ;;
- *-*-bsdi[3-5].*)
- ifconfig lo0 add 10.53.0.$ns netmask 255.255.255.0
- ;;
- *-dec-osf[4-5].*)
- ifconfig lo0 alias 10.53.0.$ns
- ;;
- *-sgi-irix6.*)
- ifconfig lo0 alias 10.53.0.$ns
- ;;
- *-*-sysv5uw7*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
- ifconfig lo0 10.53.0.$ns alias netmask 0xffffffff
- ;;
- *-ibm-aix4.*|*-ibm-aix5.*)
- ifconfig lo0 alias 10.53.0.$ns
- ifconfig lo0 inet6 alias -dad fd92:7065:b8e:ffff::$ns/64
- ;;
- hpux)
- ifconfig lo0:$int 10.53.0.$ns netmask 255.255.255.0 up
- ifconfig lo0:$int inet6 fd92:7065:b8e:ffff::$ns up
- ;;
- *-sco3.2v*)
- ifconfig lo0 alias 10.53.0.$ns
- ;;
- *-darwin*)
- ifconfig lo0 alias 10.53.0.$ns
- ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns alias
- ;;
- *)
- echo "Don't know how to set up interface. Giving up."
- exit 1
+ case $i in
+ 0) ipv6="ff" ;;
+ 1) ipv6="99" ;;
+ 2) ipv6="00" ;;
+ *) ipv6="" ;;
esac
+ for ns in 1 2 3 4 5 6 7 8
+ do
+ [ $i -gt 0 -a $ns -gt 2 ] && break
+ int=`expr $i \* 10 + $ns - 1`
+ case "$sys" in
+ *-pc-solaris2.5.1)
+ ifconfig lo0:$int 10.53.$i.$ns \
+ netmask 0xffffffff up
+ ;;
+ *-sun-solaris2.[6-7])
+ ifconfig lo0:$int 10.53.$i.$ns \
+ netmask 0xffffffff up
+ ;;
+ *-*-solaris2.[8-9]|*-*-solaris2.1[0-9])
+ /sbin/ifconfig lo0:$int plumb
+ /sbin/ifconfig lo0:$int 10.53.$i.$ns up
+ /sbin/ifconfig lo0:$int inet6 plumb
+ [ "$ipv6" ] && /sbin/ifconfig lo0:$int \
+ inet6 fd92:7065:b8e:${ipv6}ff::$ns up
+ ;;
+ *-*-linux*)
+ ifconfig lo:$int 10.53.$i.$ns up \
+ netmask 255.255.255.0
+ [ "$ipv6" ] && ifconfig lo inet6 add \
+ fd92:7065:b8e:${ipv6}ff::$ns/64
+ ;;
+ *-unknown-freebsd*)
+ ifconfig lo0 10.53.$i.$ns alias \
+ netmask 0xffffffff
+ [ "$ipv6" ] && ifconfig lo0 inet6 \
+ fd92:7065:b8e:${ipv6}ff::$ns alias
+ ;;
+ *-unknown-netbsd*)
+ ifconfig lo0 10.53.$i.$ns alias \
+ netmask 255.255.255.0
+ [ "$ipv6" ] && ifconfig lo0 inet6 \
+ fd92:7065:b8e:${ipv6}ff::$ns alias
+ ;;
+ *-unknown-openbsd*)
+ ifconfig lo0 10.53.$i.$ns alias \
+ netmask 255.255.255.0
+ [ "$ipv6" ] && ifconfig lo0 inet6 \
+ fd92:7065:b8e:${ipv6}ff::$ns alias
+ ;;
+ *-*-bsdi[3-5].*)
+ ifconfig lo0 add 10.53.$i.$ns \
+ netmask 255.255.255.0
+ ;;
+ *-dec-osf[4-5].*)
+ ifconfig lo0 alias 10.53.$i.$ns
+ ;;
+ *-sgi-irix6.*)
+ ifconfig lo0 alias 10.53.$i.$ns
+ ;;
+ *-*-sysv5uw7*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
+ ifconfig lo0 10.53.$i.$ns alias \
+ netmask 0xffffffff
+ ;;
+ *-ibm-aix4.*|*-ibm-aix5.*)
+ ifconfig lo0 alias 10.53.$i.$ns
+ [ "$ipv6" ] && ifconfig lo0 inet6 alias -dad \
+ fd92:7065:b8e:${ipv6}ff::$ns/64
+ ;;
+ hpux)
+ ifconfig lo0:$int 10.53.$i.$ns \
+ netmask 255.255.255.0 up
+ [ "$ipv6" ] && ifconfig lo0:$int inet6 \
+ fd92:7065:b8e:${ipv6}ff::$ns up
+ ;;
+ *-sco3.2v*)
+ ifconfig lo0 alias 10.53.$i.$ns
+ ;;
+ *-darwin*)
+ ifconfig lo0 alias 10.53.$i.$ns
+ [ "$ipv6" ] && ifconfig lo0 inet6 \
+ fd92:7065:b8e:${ipv6}ff::$ns alias
+ ;;
+ *-cygwin*)
+ echo "Please run ifconfig.bat as Administrator."
+ exit 1
+ ;;
+ *)
+ echo "Don't know how to set up interface. Giving up."
+ exit 1
+ esac
+ done
done
;;
stop|down)
- for ns in 8 7 6 5 4 3 2 1
+ for i in 0 1 2
do
- if test -n "$base"
- then
- int=`expr $ns + $base - 1`
- else
- int=$ns
- fi
- if test -n "$base6"
- then
- int6=`expr $ns + $base6 - 1`
- else
- int6=$ns
- fi
- case "$sys" in
- *-pc-solaris2.5.1)
- ifconfig lo0:$int 0.0.0.0 down
- ;;
- *-sun-solaris2.[6-7])
- ifconfig lo0:$int 10.53.0.$ns down
- ;;
- *-*-solaris2.[8-9]|*-*-solaris2.1[0-9])
- ifconfig lo0:$int 10.53.0.$ns down
- ifconfig lo0:$int 10.53.0.$ns unplumb
- if test -n "$int6"
- then
- ifconfig lo0:$int6 inet6 down
- ifconfig lo0:$int6 inet6 unplumb
- fi
- ;;
- *-*-linux*)
- ifconfig lo:$int 10.53.0.$ns down
- ifconfig lo inet6 del fd92:7065:b8e:ffff::$ns/64
- ;;
- *-unknown-freebsd*)
- ifconfig lo0 10.53.0.$ns delete
- ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns delete
- ;;
- *-unknown-netbsd*)
- ifconfig lo0 10.53.0.$ns delete
- ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns delete
- ;;
- *-unknown-openbsd*)
- ifconfig lo0 10.53.0.$ns delete
- ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns delete
- ;;
- *-*-bsdi[3-5].*)
- ifconfig lo0 remove 10.53.0.$ns
- ;;
- *-dec-osf[4-5].*)
- ifconfig lo0 -alias 10.53.0.$ns
- ;;
- *-sgi-irix6.*)
- ifconfig lo0 -alias 10.53.0.$ns
- ;;
- *-*-sysv5uw7*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
- ifconfig lo0 -alias 10.53.0.$ns
- ;;
- *-ibm-aix4.*|*-ibm-aix5.*)
- ifconfig lo0 delete 10.53.0.$ns
- ifconfig lo0 delete inet6 fd92:7065:b8e:ffff::$ns/64
- ;;
- hpux)
- ifconfig lo0:$int 0.0.0.0
- ifconfig lo0:$int inet6 ::
- ;;
- *-sco3.2v*)
- ifconfig lo0 -alias 10.53.0.$ns
- ;;
- *darwin*)
- ifconfig lo0 -alias 10.53.0.$ns
- ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns delete
- ;;
- *)
- echo "Don't know how to destroy interface. Giving up."
- exit 1
+ case $i in
+ 0) ipv6="ff" ;;
+ 1) ipv6="99" ;;
+ 2) ipv6="00" ;;
+ *) ipv6="" ;;
esac
+ for ns in 8 7 6 5 4 3 2 1
+ do
+ [ $i -gt 0 -a $ns -gt 2 ] && continue
+ int=`expr $i \* 10 + $ns - 1`
+ case "$sys" in
+ *-pc-solaris2.5.1)
+ ifconfig lo0:$int 0.0.0.0 down
+ ;;
+ *-sun-solaris2.[6-7])
+ ifconfig lo0:$int 10.53.$i.$ns down
+ ;;
+ *-*-solaris2.[8-9]|*-*-solaris2.1[0-9])
+ ifconfig lo0:$int 10.53.$i.$ns down
+ ifconfig lo0:$int 10.53.$i.$ns unplumb
+ ifconfig lo0:$int inet6 down
+ ifconfig lo0:$int inet6 unplumb
+ ;;
+ *-*-linux*)
+ ifconfig lo:$int 10.53.$i.$ns down
+ [ "$ipv6" ] && ifconfig lo inet6 \
+ del fd92:7065:b8e:${ipv6}ff::$ns/64
+ ;;
+ *-unknown-freebsd*)
+ ifconfig lo0 10.53.$i.$ns delete
+ [ "$ipv6" ] && ifconfig lo0 inet6 \
+ fd92:7065:b8e:${ipv6}ff::$ns delete
+ ;;
+ *-unknown-netbsd*)
+ ifconfig lo0 10.53.$i.$ns delete
+ [ "$ipv6" ] && ifconfig lo0 inet6 \
+ fd92:7065:b8e:${ipv6}ff::$ns delete
+ ;;
+ *-unknown-openbsd*)
+ ifconfig lo0 10.53.$i.$ns delete
+ [ "$ipv6" ] && ifconfig lo0 inet6 \
+ fd92:7065:b8e:${ipv6}ff::$ns delete
+ ;;
+ *-*-bsdi[3-5].*)
+ ifconfig lo0 remove 10.53.$i.$ns
+ ;;
+ *-dec-osf[4-5].*)
+ ifconfig lo0 -alias 10.53.$i.$ns
+ ;;
+ *-sgi-irix6.*)
+ ifconfig lo0 -alias 10.53.$i.$ns
+ ;;
+ *-*-sysv5uw7*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
+ ifconfig lo0 -alias 10.53.$i.$ns
+ ;;
+ *-ibm-aix4.*|*-ibm-aix5.*)
+ ifconfig lo0 delete 10.53.$i.$ns
+ [ "$ipv6" ] && ifconfig lo0 delete inet6 \
+ fd92:7065:b8e:${ipv6}ff::$ns/64
+ ;;
+ hpux)
+ ifconfig lo0:$int 0.0.0.0
+ ifconfig lo0:$int inet6 ::
+ ;;
+ *-sco3.2v*)
+ ifconfig lo0 -alias 10.53.$i.$ns
+ ;;
+ *darwin*)
+ ifconfig lo0 -alias 10.53.$i.$ns
+ [ "$ipv6" ] && ifconfig lo0 inet6 \
+ fd92:7065:b8e:${ipv6}ff::$ns delete
+ ;;
+ *-cygwin*)
+ echo "Please run ifconfig.bat as Administrator."
+ exit 1
+ ;;
+ *)
+ echo "Don't know how to destroy interface. Giving up."
+ exit 1
+ esac
+ done
done
-
;;
*)
- echo "Usage: $0 { up | down } [base]"
+ echo "Usage: $0 { up | down }"
exit 1
esac