Changeset 47765


Ignore:
Timestamp:
2015-12-04T18:44:00+01:00 (2 years ago)
Author:
nbd
Message:

br2684ctl: convert init script to procd, add hotplug/reload support

Signed-off-by: Felix Fietkau <nbd@…>

Location:
trunk/package/network/utils/linux-atm
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/network/utils/linux-atm/Makefile

    r46037 r47765  
    179179 
    180180define Package/br2684ctl/install 
    181         $(INSTALL_DIR) $(1)/etc/init.d/ 
     181        $(INSTALL_DIR) $(1)/etc/init.d $(1)/etc/hotplug.d/atm 
    182182        $(INSTALL_BIN) ./files/br2684ctl $(1)/etc/init.d/ 
     183        $(INSTALL_DATA) ./files/atm.hotplug $(1)/etc/hotplug.d/atm/00-trigger 
    183184        $(INSTALL_DIR) $(1)/usr/sbin 
    184185        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/br2684ctl $(1)/usr/sbin/ 
  • trunk/package/network/utils/linux-atm/files/br2684ctl

    r37007 r47765  
    22 
    33START=50 
    4  
    5 SERVICE_DAEMONIZE=1 
    6 SERVICE_WRITE_PID=1 
     4USE_PROCD=1 
    75 
    86start_daemon() { 
    9         . /lib/functions/network.sh 
    10  
    117        local cfg="$1" 
    128 
     
    4541        config_get sendsize "$cfg" sendsize 
    4642 
     43        found= 
     44        for device in /sys/class/atm/*; do 
     45                [ -d "$device" ] || break 
     46                [ "$(cat $device/atmindex)" = "$atmdev" ] || continue 
     47                found=1 
     48                break 
     49        done 
     50 
     51        [ -n "$found" ] || return 
     52 
    4753        local circuit="$atmdev.$vpi.$vci" 
    4854 
    49         network_defer_device "nas$unit" 
    50  
    51         SERVICE_PID_FILE="/var/run/br2684ctl-$circuit.pid" \ 
    52         service_start /usr/sbin/br2684ctl \ 
     55        procd_open_instance 
     56        procd_set_param command \ 
     57                /usr/sbin/br2684ctl \ 
    5358                -c "$unit" -e "$encaps" -p "$payload" \ 
    5459                -a "$circuit" ${qos:+-q "$qos"} ${sendsize:+-s "$sendsize"} 
    55         sleep 1 
    56  
    57         network_ready_device "nas$unit" 
     60        procd_close_instance 
    5861} 
    5962 
    60 stop_daemon() { 
    61         local cfg="$1" 
     63service_running() { 
     64        . /lib/functions/network.sh 
    6265 
    63         local atmdev 
    64         config_get atmdev "$cfg" atmdev 0 
    65  
    66         local unit 
    67         config_get unit "$cfg" unit 0 
    68  
    69         local vpi 
    70         config_get vpi "$cfg" vpi 8 
    71  
    72         local vci 
    73         config_get vci "$cfg" vci 35 
    74  
    75         local circuit="$atmdev.$vpi.$vci" 
    76          
    77         SERVICE_PID_FILE="/var/run/br2684ctl-$circuit.pid" \ 
    78         service_stop /usr/sbin/br2684ctl 
     66        sleep 1 
     67        for path in /sys/class/net/nas*; do 
     68                dev="${path##*/}" 
     69                network_ready_device "$dev" 
     70        done 
    7971} 
    8072 
    81 start() { 
     73service_triggers() { 
     74        local script=$(readlink "$initscript") 
     75        local name=$(basename ${script:-$initscript}) 
     76 
     77        procd_open_trigger 
     78        procd_add_raw_trigger hotplug.atm 2000 /etc/init.d/$name reload 
     79        procd_add_config_trigger "config.change" "$file" /etc/init.d/$name reload 
     80        procd_close_trigger 
     81} 
     82 
     83start_service() { 
    8284        config_load network 
    8385        config_foreach start_daemon atm-bridge 
    8486} 
    85  
    86 stop() { 
    87         config_load network 
    88         config_foreach stop_daemon atm-bridge 
    89 } 
Note: See TracChangeset for help on using the changeset viewer.