Reduce the number of places that know about the number of IP addresses
required by the system tests, by changing `testsock.pl` to read the
`max` from `ifconfig.sh.in`. This should make the test runner fail
early with a clear message when the interfaces have been set up by an
obsolete script.
Add comments to cross-reference `ifconfig.sh.in`, `testsock.pl`, and
`org.isc.bind.system` to make it easier to remember what needs
updating when an IP address is added.
# We also set the MTU on the 1500 bytes to match the default MTU on physical
# interfaces, so we can properly test the cases with packets bigger than
# interface MTU.
+#
+# See also org.isc.bind.system (a version of this script for use on macOS)
+# and testsock.pl (which checks the interfaces are configured)
+#
top_srcdir=@abs_top_srcdir@
# 'ns' in the namserver being configured.
# 'int' interface identifier.
#
+# See also `org.isc.bind.system`.
+#
+# This `max` setting is grepped out for use by testsock.pl
+#
max=11
case $1 in
start|up|stop|down)
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
+# see also ifconfig.sh.in and testsock.pl
+
ifup() {
/sbin/ifconfig lo0 10.53.$1.$3 alias
/sbin/ifconfig lo0 inet6 fd92:7065:b8e:${2}ff::${3} alias
}
-for ns in 1 2 3 4 5 6 7 8 9 10
+for ns in 1 2 3 4 5 6 7 8 9 10 11
do
ifup 0 ff $ns
done
if ($id != 0) {
@ids = ($id);
} else {
- @ids = (1..8);
+ my $fn = "ifconfig.sh.in";
+ open FH, "< $fn" or die "open < $fn: $!\n";
+ while (<FH>) {
+ @ids = (1..$1)
+ if /^max=(\d+)\s*$/;
+ }
+ close FH;
+ die "could not find max IP address in $fn\n"
+ unless @ids > 1;
}
foreach $id (@ids) {