xref: /minix3/external/bsd/bind/dist/bin/tests/system/ifconfig.sh (revision 00b67f09dd46474d133c95011a48590a8e8f94c7)
1*00b67f09SDavid van Moolenbroek#!/bin/sh
2*00b67f09SDavid van Moolenbroek#
3*00b67f09SDavid van Moolenbroek# Copyright (C) 2004, 2007-2010, 2012, 2013  Internet Systems Consortium, Inc. ("ISC")
4*00b67f09SDavid van Moolenbroek# Copyright (C) 2000-2003  Internet Software Consortium.
5*00b67f09SDavid van Moolenbroek#
6*00b67f09SDavid van Moolenbroek# Permission to use, copy, modify, and/or distribute this software for any
7*00b67f09SDavid van Moolenbroek# purpose with or without fee is hereby granted, provided that the above
8*00b67f09SDavid van Moolenbroek# copyright notice and this permission notice appear in all copies.
9*00b67f09SDavid van Moolenbroek#
10*00b67f09SDavid van Moolenbroek# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
11*00b67f09SDavid van Moolenbroek# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
12*00b67f09SDavid van Moolenbroek# AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
13*00b67f09SDavid van Moolenbroek# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
14*00b67f09SDavid van Moolenbroek# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
15*00b67f09SDavid van Moolenbroek# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16*00b67f09SDavid van Moolenbroek# PERFORMANCE OF THIS SOFTWARE.
17*00b67f09SDavid van Moolenbroek
18*00b67f09SDavid van Moolenbroek# Id: ifconfig.sh,v 1.59 2010/06/11 23:46:49 tbox Exp
19*00b67f09SDavid van Moolenbroek
20*00b67f09SDavid van Moolenbroek#
21*00b67f09SDavid van Moolenbroek# Set up interface aliases for bind9 system tests.
22*00b67f09SDavid van Moolenbroek#
23*00b67f09SDavid van Moolenbroek# IPv4: 10.53.0.{1..8}				RFC 1918
24*00b67f09SDavid van Moolenbroek# IPv6: fd92:7065:b8e:ffff::{1..8}		ULA
25*00b67f09SDavid van Moolenbroek#
26*00b67f09SDavid van Moolenbroek
27*00b67f09SDavid van Moolenbroekconfig_guess=""
28*00b67f09SDavid van Moolenbroekfor f in ./config.guess ../../../config.guess
29*00b67f09SDavid van Moolenbroekdo
30*00b67f09SDavid van Moolenbroek	if test -f $f
31*00b67f09SDavid van Moolenbroek	then
32*00b67f09SDavid van Moolenbroek		config_guess=$f
33*00b67f09SDavid van Moolenbroek	fi
34*00b67f09SDavid van Moolenbroekdone
35*00b67f09SDavid van Moolenbroek
36*00b67f09SDavid van Moolenbroekif test "X$config_guess" = "X"
37*00b67f09SDavid van Moolenbroekthen
38*00b67f09SDavid van Moolenbroek	cat <<EOF >&2
39*00b67f09SDavid van Moolenbroek$0: must be run from the top level source directory or the
40*00b67f09SDavid van Moolenbroekbin/tests/system directory
41*00b67f09SDavid van MoolenbroekEOF
42*00b67f09SDavid van Moolenbroek	exit 1
43*00b67f09SDavid van Moolenbroekfi
44*00b67f09SDavid van Moolenbroek
45*00b67f09SDavid van Moolenbroek# If running on hp-ux, don't even try to run config.guess.
46*00b67f09SDavid van Moolenbroek# It will try to create a temporary file in the current directory,
47*00b67f09SDavid van Moolenbroek# which fails when running as root with the current directory
48*00b67f09SDavid van Moolenbroek# on a NFS mounted disk.
49*00b67f09SDavid van Moolenbroek
50*00b67f09SDavid van Moolenbroekcase `uname -a` in
51*00b67f09SDavid van Moolenbroek	*HP-UX*) sys=hpux ;;
52*00b67f09SDavid van Moolenbroek	*) sys=`sh $config_guess` ;;
53*00b67f09SDavid van Moolenbroekesac
54*00b67f09SDavid van Moolenbroek
55*00b67f09SDavid van Moolenbroekcase "$2" in
56*00b67f09SDavid van Moolenbroek	[1-9]|[1-9][0-9]|[1-9][0-9][0-9]) base=$2;;
57*00b67f09SDavid van Moolenbroek	*) base="1"
58*00b67f09SDavid van Moolenbroekesac
59*00b67f09SDavid van Moolenbroek
60*00b67f09SDavid van Moolenbroekcase "$3" in
61*00b67f09SDavid van Moolenbroek	[1-9]|[1-9][0-9]|[1-9][0-9][0-9]) base6=$3;;
62*00b67f09SDavid van Moolenbroek	*) base6=$base
63*00b67f09SDavid van Moolenbroekesac
64*00b67f09SDavid van Moolenbroek
65*00b67f09SDavid van Moolenbroekcase "$1" in
66*00b67f09SDavid van Moolenbroek
67*00b67f09SDavid van Moolenbroek    start|up)
68*00b67f09SDavid van Moolenbroek	for ns in 1 2 3 4 5 6 7 8
69*00b67f09SDavid van Moolenbroek	do
70*00b67f09SDavid van Moolenbroek		if test -n "$base"
71*00b67f09SDavid van Moolenbroek		then
72*00b67f09SDavid van Moolenbroek			int=`expr $ns + $base - 1`
73*00b67f09SDavid van Moolenbroek		else
74*00b67f09SDavid van Moolenbroek			int=$ns
75*00b67f09SDavid van Moolenbroek		fi
76*00b67f09SDavid van Moolenbroek		if test -n "$base6"
77*00b67f09SDavid van Moolenbroek		then
78*00b67f09SDavid van Moolenbroek			int6=`expr $ns + $base6 - 1`
79*00b67f09SDavid van Moolenbroek		else
80*00b67f09SDavid van Moolenbroek			int6=$ns
81*00b67f09SDavid van Moolenbroek		fi
82*00b67f09SDavid van Moolenbroek		case "$sys" in
83*00b67f09SDavid van Moolenbroek		    *-pc-solaris2.5.1)
84*00b67f09SDavid van Moolenbroek			ifconfig lo0:$int 10.53.0.$ns netmask 0xffffffff up
85*00b67f09SDavid van Moolenbroek			;;
86*00b67f09SDavid van Moolenbroek		    *-sun-solaris2.[6-7])
87*00b67f09SDavid van Moolenbroek			ifconfig lo0:$int 10.53.0.$ns netmask 0xffffffff up
88*00b67f09SDavid van Moolenbroek			;;
89*00b67f09SDavid van Moolenbroek		    *-*-solaris2.[8-9]|*-*-solaris2.1[0-9])
90*00b67f09SDavid van Moolenbroek			/sbin/ifconfig lo0:$int plumb
91*00b67f09SDavid van Moolenbroek			/sbin/ifconfig lo0:$int 10.53.0.$ns up
92*00b67f09SDavid van Moolenbroek			if test -n "$int6"
93*00b67f09SDavid van Moolenbroek			then
94*00b67f09SDavid van Moolenbroek				/sbin/ifconfig lo0:$int6 inet6 plumb
95*00b67f09SDavid van Moolenbroek				/sbin/ifconfig lo0:$int6 \
96*00b67f09SDavid van Moolenbroek					inet6 fd92:7065:b8e:ffff::$ns up
97*00b67f09SDavid van Moolenbroek			fi
98*00b67f09SDavid van Moolenbroek			;;
99*00b67f09SDavid van Moolenbroek		    *-*-linux*)
100*00b67f09SDavid van Moolenbroek			ifconfig lo:$int 10.53.0.$ns up netmask 255.255.255.0
101*00b67f09SDavid van Moolenbroek			ifconfig lo inet6 add fd92:7065:b8e:ffff::$ns/64
102*00b67f09SDavid van Moolenbroek			;;
103*00b67f09SDavid van Moolenbroek		    *-unknown-freebsd*)
104*00b67f09SDavid van Moolenbroek			ifconfig lo0 10.53.0.$ns alias netmask 0xffffffff
105*00b67f09SDavid van Moolenbroek			ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns alias
106*00b67f09SDavid van Moolenbroek			;;
107*00b67f09SDavid van Moolenbroek		    *-unknown-netbsd*)
108*00b67f09SDavid van Moolenbroek			ifconfig lo0 10.53.0.$ns alias netmask 255.255.255.0
109*00b67f09SDavid van Moolenbroek			ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns alias
110*00b67f09SDavid van Moolenbroek			;;
111*00b67f09SDavid van Moolenbroek		    *-unknown-openbsd*)
112*00b67f09SDavid van Moolenbroek			ifconfig lo0 10.53.0.$ns alias netmask 255.255.255.0
113*00b67f09SDavid van Moolenbroek			ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns alias
114*00b67f09SDavid van Moolenbroek			;;
115*00b67f09SDavid van Moolenbroek		    *-*-bsdi[3-5].*)
116*00b67f09SDavid van Moolenbroek			ifconfig lo0 add 10.53.0.$ns netmask 255.255.255.0
117*00b67f09SDavid van Moolenbroek			;;
118*00b67f09SDavid van Moolenbroek		    *-dec-osf[4-5].*)
119*00b67f09SDavid van Moolenbroek			ifconfig lo0 alias 10.53.0.$ns
120*00b67f09SDavid van Moolenbroek			;;
121*00b67f09SDavid van Moolenbroek		    *-sgi-irix6.*)
122*00b67f09SDavid van Moolenbroek			ifconfig lo0 alias 10.53.0.$ns
123*00b67f09SDavid van Moolenbroek			;;
124*00b67f09SDavid van Moolenbroek		    *-*-sysv5uw7*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
125*00b67f09SDavid van Moolenbroek			ifconfig lo0 10.53.0.$ns alias netmask 0xffffffff
126*00b67f09SDavid van Moolenbroek			;;
127*00b67f09SDavid van Moolenbroek		    *-ibm-aix4.*|*-ibm-aix5.*)
128*00b67f09SDavid van Moolenbroek			ifconfig lo0 alias 10.53.0.$ns
129*00b67f09SDavid van Moolenbroek			ifconfig lo0 inet6 alias -dad fd92:7065:b8e:ffff::$ns/64
130*00b67f09SDavid van Moolenbroek			;;
131*00b67f09SDavid van Moolenbroek		    hpux)
132*00b67f09SDavid van Moolenbroek			ifconfig lo0:$int 10.53.0.$ns netmask 255.255.255.0 up
133*00b67f09SDavid van Moolenbroek			ifconfig lo0:$int inet6 fd92:7065:b8e:ffff::$ns up
134*00b67f09SDavid van Moolenbroek			;;
135*00b67f09SDavid van Moolenbroek		    *-sco3.2v*)
136*00b67f09SDavid van Moolenbroek			ifconfig lo0 alias 10.53.0.$ns
137*00b67f09SDavid van Moolenbroek			;;
138*00b67f09SDavid van Moolenbroek		    *-darwin*)
139*00b67f09SDavid van Moolenbroek			ifconfig lo0 alias 10.53.0.$ns
140*00b67f09SDavid van Moolenbroek			ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns alias
141*00b67f09SDavid van Moolenbroek			;;
142*00b67f09SDavid van Moolenbroek		    *)
143*00b67f09SDavid van Moolenbroek			echo "Don't know how to set up interface.  Giving up."
144*00b67f09SDavid van Moolenbroek			exit 1
145*00b67f09SDavid van Moolenbroek		esac
146*00b67f09SDavid van Moolenbroek	done
147*00b67f09SDavid van Moolenbroek	;;
148*00b67f09SDavid van Moolenbroek
149*00b67f09SDavid van Moolenbroek    stop|down)
150*00b67f09SDavid van Moolenbroek	for ns in 8 7 6 5 4 3 2 1
151*00b67f09SDavid van Moolenbroek	do
152*00b67f09SDavid van Moolenbroek		if test -n "$base"
153*00b67f09SDavid van Moolenbroek		then
154*00b67f09SDavid van Moolenbroek			int=`expr $ns + $base - 1`
155*00b67f09SDavid van Moolenbroek		else
156*00b67f09SDavid van Moolenbroek			int=$ns
157*00b67f09SDavid van Moolenbroek		fi
158*00b67f09SDavid van Moolenbroek		if test -n "$base6"
159*00b67f09SDavid van Moolenbroek		then
160*00b67f09SDavid van Moolenbroek			int6=`expr $ns + $base6 - 1`
161*00b67f09SDavid van Moolenbroek		else
162*00b67f09SDavid van Moolenbroek			int6=$ns
163*00b67f09SDavid van Moolenbroek		fi
164*00b67f09SDavid van Moolenbroek		case "$sys" in
165*00b67f09SDavid van Moolenbroek		    *-pc-solaris2.5.1)
166*00b67f09SDavid van Moolenbroek			ifconfig lo0:$int 0.0.0.0 down
167*00b67f09SDavid van Moolenbroek			;;
168*00b67f09SDavid van Moolenbroek		    *-sun-solaris2.[6-7])
169*00b67f09SDavid van Moolenbroek			ifconfig lo0:$int 10.53.0.$ns down
170*00b67f09SDavid van Moolenbroek			;;
171*00b67f09SDavid van Moolenbroek		    *-*-solaris2.[8-9]|*-*-solaris2.1[0-9])
172*00b67f09SDavid van Moolenbroek			ifconfig lo0:$int 10.53.0.$ns down
173*00b67f09SDavid van Moolenbroek			ifconfig lo0:$int 10.53.0.$ns unplumb
174*00b67f09SDavid van Moolenbroek			if test -n "$int6"
175*00b67f09SDavid van Moolenbroek			then
176*00b67f09SDavid van Moolenbroek				ifconfig lo0:$int6 inet6 down
177*00b67f09SDavid van Moolenbroek				ifconfig lo0:$int6 inet6 unplumb
178*00b67f09SDavid van Moolenbroek			fi
179*00b67f09SDavid van Moolenbroek			;;
180*00b67f09SDavid van Moolenbroek		    *-*-linux*)
181*00b67f09SDavid van Moolenbroek			ifconfig lo:$int 10.53.0.$ns down
182*00b67f09SDavid van Moolenbroek			ifconfig lo inet6 del fd92:7065:b8e:ffff::$ns/64
183*00b67f09SDavid van Moolenbroek			;;
184*00b67f09SDavid van Moolenbroek		    *-unknown-freebsd*)
185*00b67f09SDavid van Moolenbroek			ifconfig lo0 10.53.0.$ns delete
186*00b67f09SDavid van Moolenbroek			ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns delete
187*00b67f09SDavid van Moolenbroek			;;
188*00b67f09SDavid van Moolenbroek		    *-unknown-netbsd*)
189*00b67f09SDavid van Moolenbroek			ifconfig lo0 10.53.0.$ns delete
190*00b67f09SDavid van Moolenbroek			ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns delete
191*00b67f09SDavid van Moolenbroek			;;
192*00b67f09SDavid van Moolenbroek		    *-unknown-openbsd*)
193*00b67f09SDavid van Moolenbroek			ifconfig lo0 10.53.0.$ns delete
194*00b67f09SDavid van Moolenbroek			ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns delete
195*00b67f09SDavid van Moolenbroek			;;
196*00b67f09SDavid van Moolenbroek		    *-*-bsdi[3-5].*)
197*00b67f09SDavid van Moolenbroek			ifconfig lo0 remove 10.53.0.$ns
198*00b67f09SDavid van Moolenbroek			;;
199*00b67f09SDavid van Moolenbroek		    *-dec-osf[4-5].*)
200*00b67f09SDavid van Moolenbroek			ifconfig lo0 -alias 10.53.0.$ns
201*00b67f09SDavid van Moolenbroek			;;
202*00b67f09SDavid van Moolenbroek		    *-sgi-irix6.*)
203*00b67f09SDavid van Moolenbroek			ifconfig lo0 -alias 10.53.0.$ns
204*00b67f09SDavid van Moolenbroek			;;
205*00b67f09SDavid van Moolenbroek		    *-*-sysv5uw7*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
206*00b67f09SDavid van Moolenbroek			ifconfig lo0 -alias 10.53.0.$ns
207*00b67f09SDavid van Moolenbroek			;;
208*00b67f09SDavid van Moolenbroek		    *-ibm-aix4.*|*-ibm-aix5.*)
209*00b67f09SDavid van Moolenbroek			ifconfig lo0 delete 10.53.0.$ns
210*00b67f09SDavid van Moolenbroek			ifconfig lo0 delete inet6 fd92:7065:b8e:ffff::$ns/64
211*00b67f09SDavid van Moolenbroek			;;
212*00b67f09SDavid van Moolenbroek		    hpux)
213*00b67f09SDavid van Moolenbroek			ifconfig lo0:$int 0.0.0.0
214*00b67f09SDavid van Moolenbroek			ifconfig lo0:$int inet6 ::
215*00b67f09SDavid van Moolenbroek			;;
216*00b67f09SDavid van Moolenbroek		    *-sco3.2v*)
217*00b67f09SDavid van Moolenbroek			ifconfig lo0 -alias 10.53.0.$ns
218*00b67f09SDavid van Moolenbroek			;;
219*00b67f09SDavid van Moolenbroek		    *darwin*)
220*00b67f09SDavid van Moolenbroek			ifconfig lo0 -alias 10.53.0.$ns
221*00b67f09SDavid van Moolenbroek			ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns delete
222*00b67f09SDavid van Moolenbroek			;;
223*00b67f09SDavid van Moolenbroek		    *)
224*00b67f09SDavid van Moolenbroek			echo "Don't know how to destroy interface.  Giving up."
225*00b67f09SDavid van Moolenbroek			exit 1
226*00b67f09SDavid van Moolenbroek		esac
227*00b67f09SDavid van Moolenbroek	done
228*00b67f09SDavid van Moolenbroek
229*00b67f09SDavid van Moolenbroek	;;
230*00b67f09SDavid van Moolenbroek
231*00b67f09SDavid van Moolenbroek	*)
232*00b67f09SDavid van Moolenbroek		echo "Usage: $0 { up | down } [base]"
233*00b67f09SDavid van Moolenbroek		exit 1
234*00b67f09SDavid van Moolenbroekesac
235