diff --git a/bin/tests/system/ifconfig.sh b/bin/tests/system/ifconfig.sh index ab14da1a40..173aee93ea 100644 --- a/bin/tests/system/ifconfig.sh +++ b/bin/tests/system/ifconfig.sh @@ -13,7 +13,11 @@ # 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="" @@ -44,191 +48,194 @@ case `uname -a` in *) 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 - ;; - *-cygwin*) - echo "Please run ifconfig.bat as Administrator." - exit 1 - ;; - *) - 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 - ;; - *-cygwin*) - echo "Please run ifconfig.bat as Administrator." - exit 1 - ;; - *) - 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