summaryrefslogtreecommitdiffstats
path: root/etc/network.subr
diff options
context:
space:
mode:
authorbrooks <brooks@FreeBSD.org>2006-09-21 01:44:52 +0000
committerbrooks <brooks@FreeBSD.org>2006-09-21 01:44:52 +0000
commitaa92e52181cdd3681561226d5f939a769107a700 (patch)
treee6c24f6b0461195db15c79c0c87893254451b78e /etc/network.subr
parent429d5f787f289dbf16442e16af06cff40348f721 (diff)
downloadFreeBSD-src-aa92e52181cdd3681561226d5f939a769107a700.zip
FreeBSD-src-aa92e52181cdd3681561226d5f939a769107a700.tar.gz
Introduce a new method ipv6if which attemptes to figure out if an
interface is an IPv6 interface. Use this method to decide if we should attempt to configure an interface with an IPv6 address in pccard_ether. The mechanism pccard_ether uses to do this is unsuited to the task because it assumes the list of interfaces it is passed is the full list of IPv6 interfaces and makes decissions based on that. This is at least a step in the right direction and is probably about as much as we can MFC safely. PR: conf/103428 MFC after: 3 days
Diffstat (limited to 'etc/network.subr')
-rw-r--r--etc/network.subr24
1 files changed, 24 insertions, 0 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()
OpenPOWER on IntegriCloud