package: linux-atm: br2684ct: fix nas interface bringup on boot
[openwrt.git] / package / linux-atm / files / br2684ctl
1 #!/bin/sh /etc/rc.common
2
3
4 . /lib/functions/network.sh
5
6 START=50
7
8 SERVICE_DAEMONIZE=1
9 SERVICE_WRITE_PID=1
10
11 start_daemon() {
12         local cfg="$1"
13
14         local atmdev
15         config_get atmdev "$cfg" atmdev 0
16
17         local unit
18         config_get unit "$cfg" unit 0
19
20         local vpi
21         config_get vpi "$cfg" vpi 8
22
23         local vci
24         config_get vci "$cfg" vci 35
25
26         local encaps
27         config_get encaps "$cfg" encaps
28
29         case "$encaps" in
30                 1|vc) encaps=1;;
31                 *) encaps=0;;
32         esac
33
34         local payload
35         config_get payload "$cfg" payload
36
37         case "$payload" in
38                 0|routed) payload=0;;
39                 *) payload=1;;
40         esac
41
42         local qos
43         config_get qos "$cfg" qos
44
45         local sendsize
46         config_get sendsize "$cfg" sendsize
47
48         local circuit="$atmdev.$vpi.$vci"
49
50         network_defer_device "nas$unit"
51
52         SERVICE_PID_FILE="/var/run/br2684ctl-$circuit.pid" \
53         service_start /usr/sbin/br2684ctl \
54                 -c "$unit" -e "$encaps" -p "$payload" \
55                 -a "$circuit" ${qos:+-q "$qos"} ${sendsize:+-s "$sendsize"}
56         sleep 1
57
58         network_ready_device "nas$unit"
59 }
60
61 stop_daemon() {
62         local cfg="$1"
63
64         local atmdev
65         config_get atmdev "$cfg" atmdev 0
66
67         local unit
68         config_get unit "$cfg" unit 0
69
70         local vpi
71         config_get vpi "$cfg" vpi 8
72
73         local vci
74         config_get vci "$cfg" vci 35
75
76         local circuit="$atmdev.$vpi.$vci"
77         
78         SERVICE_PID_FILE="/var/run/br2684ctl-$circuit.pid" \
79         service_stop /usr/sbin/br2684ctl
80 }
81
82 start() {
83         config_load network
84         config_foreach start_daemon atm-bridge
85 }
86
87 stop() {
88         config_load network
89         config_foreach stop_daemon atm-bridge
90 }