summaryrefslogtreecommitdiffstats
path: root/package/linux-atm/files
diff options
context:
space:
mode:
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-01-29 02:14:22 +0000
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-01-29 02:14:22 +0000
commit2a5249437aa76e7148a9c7c7af685a4f2f60c72f (patch)
treec23990225ffe1c15ec4aa8419cb523f96ed90ca5 /package/linux-atm/files
parent2ebfc96bd26bd553ec75b3a580e4fc8d3884e3c0 (diff)
[package] br2684ctl from linux-atm
Signed-off-by: Philip Prindeville <philipp_subx@redfish-solutions.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25225 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/linux-atm/files')
-rwxr-xr-xpackage/linux-atm/files/br2684ctl60
1 files changed, 60 insertions, 0 deletions
diff --git a/package/linux-atm/files/br2684ctl b/package/linux-atm/files/br2684ctl
new file mode 100755
index 000000000..929e2b887
--- /dev/null
+++ b/package/linux-atm/files/br2684ctl
@@ -0,0 +1,60 @@
+#!/bin/sh /etc/rc.common
+START=50
+
+start_daemon() {
+ local cfg="$1"
+
+ local atmdev
+ config_get atmdev "$cfg" atmdev 0
+
+ local unit
+ config_get unit "$cfg" unit 0
+
+ local vpi
+ config_get vpi "$cfg" vpi 8
+
+ local vci
+ config_get vci "$cfg" vci 35
+
+ local encaps
+ config_get encaps "$cfg" encaps
+
+ case "$encaps" in
+ 1|vc) encaps=1;;
+ *) encaps=0;;
+ esac
+
+ local payload
+ config_get payload "$cfg" payload
+
+ case "$payload" in
+ 0|routed) payload=0;;
+ *) payload=1;;
+ esac
+
+ local qos
+ config_get qos "$cfg" qos
+
+ local circuit="$atmdev.$vpi.$vci"
+ local pid="/var/run/br2684ctl-$circuit.pid"
+
+ start-stop-daemon -S -b -x /usr/sbin/br2684ctl -m -p "$pid" -- \
+ -c "$unit" -e "$encaps" -p "$payload" \
+ -a "$circuit" ${qos:+-q "$qos"}
+}
+
+start() {
+ insmod br2684 >/dev/null 2>/dev/null
+ config_load network
+ config_foreach start_daemon atm-bridge
+}
+
+stop() {
+ local pid
+ for pid in /var/run/br2684ctl-*.pid; do
+ if [ -f "$pid" ]; then
+ service_kill br2684ctl "$pid"
+ rm -f "$pid"
+ fi
+ done
+}