1#!/bin/sh /etc/rc.common 2 3START=50 4USE_PROCD=1 5 6start_daemon() { 7 local cfg="$1" 8 9 local atmdev disabled 10 11 config_get_bool disabled "$cfg" disabled 0 12 [ "$disabled" -eq 1 ] && return 13 14 config_get atmdev "$cfg" atmdev 0 15 16 local unit 17 config_get unit "$cfg" unit 0 18 19 local vpi 20 config_get vpi "$cfg" vpi 8 21 22 local vci 23 config_get vci "$cfg" vci 35 24 25 local encaps 26 config_get encaps "$cfg" encaps 27 28 case "$encaps" in 29 1|vc) encaps=1;; 30 *) encaps=0;; 31 esac 32 33 local payload 34 config_get payload "$cfg" payload 35 36 case "$payload" in 37 0|routed) payload=0;; 38 *) payload=1;; 39 esac 40 41 local qos 42 config_get qos "$cfg" qos 43 44 local sendsize 45 config_get sendsize "$cfg" sendsize 46 47 found= 48 for device in /sys/class/atm/*; do 49 [ -d "$device" ] || break 50 [ "$(cat $device/atmindex)" = "$atmdev" ] || continue 51 found=1 52 break 53 done 54 55 [ -n "$found" ] || return 56 57 local circuit="$atmdev.$vpi.$vci" 58 59 procd_open_instance 60 procd_set_param command \ 61 /usr/sbin/br2684ctl_wrap "nas$unit" \ 62 -c "$unit" -e "$encaps" -p "$payload" \ 63 -a "$circuit" ${qos:+-q "$qos"} ${sendsize:+-s "$sendsize"} \ 64 -S /lib/netifd/br2684-up 65 procd_close_instance 66} 67 68service_triggers() { 69 local script=$(readlink "$initscript") 70 local name=$(basename ${script:-$initscript}) 71 72 procd_open_trigger 73 procd_add_raw_trigger hotplug.atm 2000 /etc/init.d/$name reload 74 procd_add_config_trigger "config.change" "network" /etc/init.d/$name reload 75 procd_close_trigger 76} 77 78start_service() { 79 config_load network 80 config_foreach start_daemon atm-bridge 81} 82