X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/2a5249437aa76e7148a9c7c7af685a4f2f60c72f..6aa1eddee7397c0dfbff1809847ae6f66260be86:/package/linux-atm/files/br2684ctl diff --git a/package/linux-atm/files/br2684ctl b/package/linux-atm/files/br2684ctl index 929e2b887..b2199e630 100755 --- a/package/linux-atm/files/br2684ctl +++ b/package/linux-atm/files/br2684ctl @@ -1,6 +1,10 @@ #!/bin/sh /etc/rc.common + START=50 +SERVICE_DAEMONIZE=1 +SERVICE_WRITE_PID=1 + start_daemon() { local cfg="$1" @@ -35,26 +39,44 @@ start_daemon() { local qos config_get qos "$cfg" qos - local circuit="$atmdev.$vpi.$vci" - local pid="/var/run/br2684ctl-$circuit.pid" + local sendsize + config_get sendsize "$cfg" sendsize - start-stop-daemon -S -b -x /usr/sbin/br2684ctl -m -p "$pid" -- \ + local circuit="$atmdev.$vpi.$vci" + + SERVICE_PID_FILE="/var/run/br2684ctl-$circuit.pid" \ + service_start /usr/sbin/br2684ctl \ -c "$unit" -e "$encaps" -p "$payload" \ - -a "$circuit" ${qos:+-q "$qos"} + -a "$circuit" ${qos:+-q "$qos"} ${sendsize:+-s "$sendsize"} +} + +stop_daemon() { + local cfg="$1" + + local atmdev + config_get atmdev "$cfg" atmdev 0 + + local unit + config_get unit "$cfg" unit 0 + + 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 } start() { - insmod br2684 >/dev/null 2>/dev/null config_load network config_foreach start_daemon atm-bridge } stop() { - local pid - for pid in /var/run/br2684ctl-*.pid; do - if [ -f "$pid" ]; then - service_kill br2684ctl "$pid" - rm -f "$pid" - fi - done + config_load network + config_foreach stop_daemon atm-bridge }