summaryrefslogtreecommitdiffstats
path: root/package/linux-atm
diff options
context:
space:
mode:
Diffstat (limited to 'package/linux-atm')
-rw-r--r--package/linux-atm/Makefile4
-rwxr-xr-xpackage/linux-atm/files/br2684ctl41
2 files changed, 32 insertions, 13 deletions
diff --git a/package/linux-atm/Makefile b/package/linux-atm/Makefile
index fe391b912..b6b252d14 100644
--- a/package/linux-atm/Makefile
+++ b/package/linux-atm/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2006-2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=linux-atm
PKG_VERSION:=2.5.2
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/$(PKG_NAME)
diff --git a/package/linux-atm/files/br2684ctl b/package/linux-atm/files/br2684ctl
index 0c6fa9575..b2199e630 100755
--- a/package/linux-atm/files/br2684ctl
+++ b/package/linux-atm/files/br2684ctl
@@ -1,6 +1,10 @@
#!/bin/sh /etc/rc.common
+
START=50
+SERVICE_DAEMONIZE=1
+SERVICE_WRITE_PID=1
+
start_daemon() {
local cfg="$1"
@@ -39,25 +43,40 @@ start_daemon() {
config_get sendsize "$cfg" sendsize
local circuit="$atmdev.$vpi.$vci"
- local pid="/var/run/br2684ctl-$circuit.pid"
-
- start-stop-daemon -S -b -x /usr/sbin/br2684ctl -m -p "$pid" -- \
+
+ SERVICE_PID_FILE="/var/run/br2684ctl-$circuit.pid" \
+ service_start /usr/sbin/br2684ctl \
-c "$unit" -e "$encaps" -p "$payload" \
-a "$circuit" ${qos:+-q "$qos"} ${sendsize:+-s "$sendsize"}
}
+stop_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 circuit="$atmdev.$vpi.$vci"
+
+ SERVICE_PID_FILE="/var/run/br2684ctl-$circuit.pid" \
+ service_stop /usr/sbin/br2684ctl
+}
+
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
+ config_load network
+ config_foreach stop_daemon atm-bridge
}