aboutsummaryrefslogtreecommitdiff
path: root/net/ifconfig.sh.BSD.in
diff options
context:
space:
mode:
Diffstat (limited to 'net/ifconfig.sh.BSD.in')
-rw-r--r--net/ifconfig.sh.BSD.in20
1 files changed, 20 insertions, 0 deletions
diff --git a/net/ifconfig.sh.BSD.in b/net/ifconfig.sh.BSD.in
index 15c8fb8e..c7e98a28 100644
--- a/net/ifconfig.sh.BSD.in
+++ b/net/ifconfig.sh.BSD.in
@@ -242,3 +242,23 @@ ifconfig_post_start()
eend 0
fi
}
+
+# Is the interface administratively/operationally up?
+# The 'UP' status in ifconfig is the administrative status
+# Operational state does not seem to be available in BSD?
+# 0: up
+# 1: down
+# 2: invalid arguments
+is_admin_up()
+{
+ local iface="$1"
+ [ -z "$iface" ] && iface="$IFACE"
+ ifconfig "${iface}" | \
+ sed -n '1,1{ /flags=.*[<,]UP[,>]/{ q 0 }}; q 1; '
+}
+
+is_oper_up()
+{
+ eerror "TODO: is_oper_up not available on BSD"
+ return 2
+}