endef
define Package/br2684ctl/install
- $(INSTALL_DIR) $(1)/etc/init.d/
+ $(INSTALL_DIR) $(1)/etc/init.d $(1)/etc/hotplug.d/atm
$(INSTALL_BIN) ./files/br2684ctl $(1)/etc/init.d/
+ $(INSTALL_DATA) ./files/atm.hotplug $(1)/etc/hotplug.d/atm/00-trigger
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/br2684ctl $(1)/usr/sbin/
endef
#!/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
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
-}