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
