[packages] Added batman experimental: net/bmxd (#3457)
[feed/routing.git] / files / etc / init.d / bmxd
1 #!/bin/sh /etc/rc.common
2 START=91
3 . /lib/config/uci.sh
4 uci_load bmxd
5 start () {
6 interface=$(uci get bmxd.general.interface)
7 if [ "$interface" = "" ]; then
8 echo $1 Error, you must specify at least a network interface
9 exit
10 fi
11 announce=$(uci get bmxd.general.announce)
12 gateway_class=$(uci get bmxd.general.gateway_class)
13 originator_interval=$(uci get bmxd.general.originator_interval)
14 preferred_gateway=$(uci get bmxd.general.preferred_gateway)
15 routing_class=$(uci get bmxd.general.routing_class)
16 visualisation_srv=$(uci get bmxd.general.visualisation_srv)
17 policy_routing_script=$(uci get bmxd.general.policy_routing_script)
18 bmx_args=""
19
20 if [ $announce ]; then
21 bmx_args=${bmx_args}'-a '$announce' '
22 fi
23
24 if [ $gateway_class ]; then
25 bmx_args=${bmx_args}'-g '$gateway_class' '
26 fi
27
28 if [ $originator_interval ]; then
29 bmx_args=${bmx_args}'-o '$originator_interval' '
30 fi
31
32 if [ $preferred_gateway ]; then
33 bmx_args=${bmx_args}'-p '$preferred_gateway' '
34 fi
35
36 if [ $routing_class ]; then
37 bmx_args=${bmx_args}'-r '$routing_class' '
38 fi
39
40 if [ $visualisation_srv ]; then
41 bmx_args=${bmx_args}'-s '$visualisation_srv' '
42 fi
43
44 if [ $policy_routing_script ]; then
45 bmx_args=${bmx_args}'--policy-routing-script '$policy_routing_script' '
46 fi
47
48 bmx_args=${bmx_args}$interface
49 bmxd $bmx_args >/dev/null 2>&1
50 }
51
52 restart () {
53 $0 stop
54 sleep 3
55 $0 start
56 }
57
58 stop () {
59 killall bmxd
60 }