|
|
@@ -1,13 +1,9 @@
|
|
|
#!/bin/sh /etc/rc.common
|
|
|
|
|
|
START=50
|
|
|
-
|
|
|
-SERVICE_DAEMONIZE=1
|
|
|
-SERVICE_WRITE_PID=1
|
|
|
+USE_PROCD=1
|
|
|
|
|
|
start_daemon() {
|
|
|
- . /lib/functions/network.sh
|
|
|
-
|
|
|
local cfg="$1"
|
|
|
|
|
|
local atmdev
|
|
|
@@ -44,46 +40,47 @@ start_daemon() {
|
|
|
local sendsize
|
|
|
config_get sendsize "$cfg" sendsize
|
|
|
|
|
|
- local circuit="$atmdev.$vpi.$vci"
|
|
|
+ found=
|
|
|
+ for device in /sys/class/atm/*; do
|
|
|
+ [ -d "$device" ] || break
|
|
|
+ [ "$(cat $device/atmindex)" = "$atmdev" ] || continue
|
|
|
+ found=1
|
|
|
+ break
|
|
|
+ done
|
|
|
|
|
|
- network_defer_device "nas$unit"
|
|
|
+ [ -n "$found" ] || return
|
|
|
|
|
|
- SERVICE_PID_FILE="/var/run/br2684ctl-$circuit.pid" \
|
|
|
- service_start /usr/sbin/br2684ctl \
|
|
|
+ local circuit="$atmdev.$vpi.$vci"
|
|
|
+
|
|
|
+ procd_open_instance
|
|
|
+ procd_set_param command \
|
|
|
+ /usr/sbin/br2684ctl \
|
|
|
-c "$unit" -e "$encaps" -p "$payload" \
|
|
|
-a "$circuit" ${qos:+-q "$qos"} ${sendsize:+-s "$sendsize"}
|
|
|
- sleep 1
|
|
|
-
|
|
|
- network_ready_device "nas$unit"
|
|
|
+ procd_close_instance
|
|
|
}
|
|
|
|
|
|
-stop_daemon() {
|
|
|
- local cfg="$1"
|
|
|
-
|
|
|
- local atmdev
|
|
|
- config_get atmdev "$cfg" atmdev 0
|
|
|
-
|
|
|
- local unit
|
|
|
- config_get unit "$cfg" unit 0
|
|
|
+service_running() {
|
|
|
+ . /lib/functions/network.sh
|
|
|
|
|
|
- local vpi
|
|
|
- config_get vpi "$cfg" vpi 8
|
|
|
+ sleep 1
|
|
|
+ for path in /sys/class/net/nas*; do
|
|
|
+ dev="${path##*/}"
|
|
|
+ network_ready_device "$dev"
|
|
|
+ done
|
|
|
+}
|
|
|
|
|
|
- local vci
|
|
|
- config_get vci "$cfg" vci 35
|
|
|
+service_triggers() {
|
|
|
+ local script=$(readlink "$initscript")
|
|
|
+ local name=$(basename ${script:-$initscript})
|
|
|
|
|
|
- local circuit="$atmdev.$vpi.$vci"
|
|
|
-
|
|
|
- SERVICE_PID_FILE="/var/run/br2684ctl-$circuit.pid" \
|
|
|
- service_stop /usr/sbin/br2684ctl
|
|
|
+ procd_open_trigger
|
|
|
+ procd_add_raw_trigger hotplug.atm 2000 /etc/init.d/$name reload
|
|
|
+ procd_add_config_trigger "config.change" "$file" /etc/init.d/$name reload
|
|
|
+ procd_close_trigger
|
|
|
}
|
|
|
|
|
|
-start() {
|
|
|
+start_service() {
|
|
|
config_load network
|
|
|
config_foreach start_daemon atm-bridge
|
|
|
}
|
|
|
-
|
|
|
-stop() {
|
|
|
- config_load network
|
|
|
- config_foreach stop_daemon atm-bridge
|
|
|
-}
|