summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/network.subr24
-rwxr-xr-xetc/pccard_ether6
2 files changed, 29 insertions, 1 deletions
diff --git a/etc/network.subr b/etc/network.subr
index cb00fbd1..de2aaf4 100644
--- a/etc/network.subr
+++ b/etc/network.subr
@@ -237,6 +237,30 @@ wpaif()
return 1
}
+# ipv6if if
+# Returns 0 if the interface should be configured for IPv6 and
+# 1 otherwise.
+ipv6if()
+{
+ if ! checkyesno ipv6_enable; then
+ return 1
+ fi
+ case "${ipv6_network_interfaces}" in
+ [Aa][Uu][Tt][Oo])
+ return 0
+ ;;
+ ''|[Nn][Oo][Nn][Ee])
+ return 1
+ ;;
+ esac
+ for v6if in ${ipv6_network_interfaces}; do
+ if [ "${v6if}" = "${1}" ]; then
+ return 0
+ fi
+ done
+ return 1
+}
+
# ifexists if
# Returns 0 if the interface exists and 1 otherwise.
ifexists()
diff --git a/etc/pccard_ether b/etc/pccard_ether
index d8128da..4bf9b52 100755
--- a/etc/pccard_ether
+++ b/etc/pccard_ether
@@ -89,7 +89,11 @@ pccard_ether_start()
fi
# IPv6 setup
- if checkyesno ipv6_enable; then
+ if ipv6if $ifn; then
+ # XXX: network6_interface_setup assumes you're calling
+ # it with ALL the IPv6 interfaces at once and thus isn't
+ # really appropraite for this job, but it's the best we've
+ # got for now.
network6_interface_setup $ifn
fi
}
OpenPOWER on IntegriCloud