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