aboutsummaryrefslogtreecommitdiff
path: root/net/br2684ctl.sh
diff options
context:
space:
mode:
Diffstat (limited to 'net/br2684ctl.sh')
-rw-r--r--net/br2684ctl.sh59
1 files changed, 59 insertions, 0 deletions
diff --git a/net/br2684ctl.sh b/net/br2684ctl.sh
new file mode 100644
index 00000000..11ee4f55
--- /dev/null
+++ b/net/br2684ctl.sh
@@ -0,0 +1,59 @@
+# Copyright 2007-2008 Roy Marples <roy@marples.name>
+# All rights reserved. Released under the 2-clause BSD license.
+
+_br2684ctl()
+{
+ if [ -x /usr/sbin/br2684ctl ]; then
+ echo /usr/sbin/br2684ctl
+ else
+ echo /sbin/br2684ctl
+ fi
+}
+
+br2684ctl_depend()
+{
+ before ppp
+ program start $(_br2684ctl)
+}
+
+_config_vars="$_config_vars bridge bridge_add brctl"
+
+br2684ctl_pre_start()
+{
+ local opts=
+ eval opts=\$br2684ctl_${IFVAR}
+ [ -z "${opts}" ] && return 0
+
+ if [ "${IFACE#nas[0-9]*}" = "${IFACE}" ]; then
+ eerror "Interface must be called nas[0-9] for RFC 2684 Bridging"
+ return 1
+ fi
+
+ case " ${opts} " in
+ *" -b "*|*" -c "*)
+ eerror "The -b and -c options are not allowed for br2684ctl_${IVAR}"
+ return 1
+ ;;
+ *" -a "*);;
+ *)
+ eerror "-a option (VPI and VCI) is required in br2684ctl_${IFVAR}"
+ return 1
+ ;;
+ esac
+
+ einfo "Starting RFC 2684 Bridge control on ${IFACE}"
+ start-stop-daemon --start --exec $(_br2684ctl) --background \
+ --make-pidfile --pidfile "/var/run/br2684ctl-${IFACE}.pid" \
+ -- -c "${IFACE#nas*}" ${opts}
+ eend $?
+}
+
+br2684ctl_post_stop()
+{
+ local pidfile="/var/run/br2684ctl-${IFACE}.pid"
+ [ -e "${pidfile}" ] || return 0
+
+ einfo "Stopping RFC 2684 Bridge control on ${IFACE}"
+ start-stop-daemon --stop --quiet --pidfile "${pidfile}"
+ eend $?
+}