diff options
author | Florian Fainelli <florian@openwrt.org> | 2011-01-29 02:14:22 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2011-01-29 02:14:22 +0000 |
commit | 3810bdf32067ab871de85895caa89d8545d52fd7 (patch) | |
tree | 469bf13ea0538ce31e71c95dca7af3ca3c9aff09 /package/linux-atm/files/br2684ctl | |
parent | 4e6bca2d05df5962620e9fb02170d0f89ebc1896 (diff) | |
download | mtk-20170518-3810bdf32067ab871de85895caa89d8545d52fd7.zip mtk-20170518-3810bdf32067ab871de85895caa89d8545d52fd7.tar.gz mtk-20170518-3810bdf32067ab871de85895caa89d8545d52fd7.tar.bz2 |
br2684ctl from linux-atm
Signed-off-by: Philip Prindeville <philipp_subx@redfish-solutions.com>
SVN-Revision: 25225
Diffstat (limited to 'package/linux-atm/files/br2684ctl')
-rwxr-xr-x | package/linux-atm/files/br2684ctl | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/package/linux-atm/files/br2684ctl b/package/linux-atm/files/br2684ctl new file mode 100755 index 0000000..929e2b8 --- /dev/null +++ b/package/linux-atm/files/br2684ctl @@ -0,0 +1,60 @@ +#!/bin/sh /etc/rc.common +START=50 + +start_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 encaps + config_get encaps "$cfg" encaps + + case "$encaps" in + 1|vc) encaps=1;; + *) encaps=0;; + esac + + local payload + config_get payload "$cfg" payload + + case "$payload" in + 0|routed) payload=0;; + *) payload=1;; + esac + + local qos + config_get qos "$cfg" qos + + local circuit="$atmdev.$vpi.$vci" + local pid="/var/run/br2684ctl-$circuit.pid" + + start-stop-daemon -S -b -x /usr/sbin/br2684ctl -m -p "$pid" -- \ + -c "$unit" -e "$encaps" -p "$payload" \ + -a "$circuit" ${qos:+-q "$qos"} +} + +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 +} |