Author: nbd
Date: 2015-12-04 18:44:00 +0100 (Fri, 04 Dec 2015)
New Revision: 47765

Added:
   trunk/package/network/utils/linux-atm/files/atm.hotplug
Modified:
   trunk/package/network/utils/linux-atm/Makefile
   trunk/package/network/utils/linux-atm/files/br2684ctl
Log:
br2684ctl: convert init script to procd, add hotplug/reload support

Signed-off-by: Felix Fietkau <[email protected]>

Modified: trunk/package/network/utils/linux-atm/Makefile
===================================================================
--- trunk/package/network/utils/linux-atm/Makefile      2015-12-04 17:42:51 UTC 
(rev 47764)
+++ trunk/package/network/utils/linux-atm/Makefile      2015-12-04 17:44:00 UTC 
(rev 47765)
@@ -178,8 +178,9 @@
 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

Added: trunk/package/network/utils/linux-atm/files/atm.hotplug
===================================================================
--- trunk/package/network/utils/linux-atm/files/atm.hotplug                     
        (rev 0)
+++ trunk/package/network/utils/linux-atm/files/atm.hotplug     2015-12-04 
17:44:00 UTC (rev 47765)
@@ -0,0 +1 @@
+ubus call service event '{ "type": "hotplug.atm", "data": { "name": 
"'"$DEVICENAME"'" } }'

Modified: trunk/package/network/utils/linux-atm/files/br2684ctl
===================================================================
--- trunk/package/network/utils/linux-atm/files/br2684ctl       2015-12-04 
17:42:51 UTC (rev 47764)
+++ trunk/package/network/utils/linux-atm/files/br2684ctl       2015-12-04 
17:44:00 UTC (rev 47765)
@@ -1,13 +1,9 @@
 #!/bin/sh /etc/rc.common
 
 START=50
+USE_PROCD=1
 
-SERVICE_DAEMONIZE=1
-SERVICE_WRITE_PID=1
-
 start_daemon() {
-       . /lib/functions/network.sh
-
        local cfg="$1"
 
        local atmdev
@@ -44,46 +40,47 @@
        local sendsize
        config_get sendsize "$cfg" sendsize
 
+       found=
+       for device in /sys/class/atm/*; do
+               [ -d "$device" ] || break
+               [ "$(cat $device/atmindex)" = "$atmdev" ] || continue
+               found=1
+               break
+       done
+
+       [ -n "$found" ] || return
+
        local circuit="$atmdev.$vpi.$vci"
 
-       network_defer_device "nas$unit"
-
-       SERVICE_PID_FILE="/var/run/br2684ctl-$circuit.pid" \
-       service_start /usr/sbin/br2684ctl \
+       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"
+service_running() {
+       . /lib/functions/network.sh
 
-       local atmdev
-       config_get atmdev "$cfg" atmdev 0
+       sleep 1
+       for path in /sys/class/net/nas*; do
+               dev="${path##*/}"
+               network_ready_device "$dev"
+       done
+}
 
-       local unit
-       config_get unit "$cfg" unit 0
+service_triggers() {
+       local script=$(readlink "$initscript")
+       local name=$(basename ${script:-$initscript})
 
-       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
+       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
-}
_______________________________________________
openwrt-commits mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits

Reply via email to