summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net.Linux/br2684ctl.sh')
-rw-r--r--net.Linux/br2684ctl.sh50
1 files changed, 50 insertions, 0 deletions
diff --git a/net.Linux/br2684ctl.sh b/net.Linux/br2684ctl.sh
new file mode 100644
index 00000000..928473b3
--- /dev/null
+++ b/net.Linux/br2684ctl.sh
@@ -0,0 +1,50 @@
+# Copyright 2004-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+br2684ctl_depend() {
+ before ppp
+ program start /sbin/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 /sbin/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 \
+ --exec /sbin/br2684ctl --pidfile "${pidfile}"
+ eend $?
+}
+
+# vim: set ts=4 :