411f0250251e6878e3862d9e252db943d84e41ac
[feed/routing.git] / files / etc / init.d / batmand
1 #!/bin/sh /etc/rc.common
2 START=90
3 . /lib/config/uci.sh
4 uci_load batmand
5 start () {
6 interface=$(uci get batmand.general.interface)
7 if [ "$interface" = "" ]; then
8 echo $1 Error, you must specify at least a network interface
9 exit
10 fi
11 hnas=$(uci get batmand.general.hna)
12 gateway_class=$(uci get batmand.general.gateway_class)
13 originator_interval=$(uci get batmand.general.originator_interval)
14 preferred_gateway=$(uci get batmand.general.preferred_gateway)
15 routing_class=$(uci get batmand.general.routing_class)
16 visualisation_srv=$(uci get batmand.general.visualisation_srv)
17 policy_routing_script=$(uci get batmand.general.policy_routing_script)
18 disable_client_nat=$(uci get batmand.general.disable_client_nat)
19 disable_aggregation=$(uci get batmand.general.disable_aggregation)
20 batman_args=""
21
22 for hna in $hnas
23 do
24 batman_args=${batman_args}'-a '$hna' '
25 done
26
27 if [ $gateway_class ]; then
28 batman_args=${batman_args}'-g '$gateway_class' '
29 fi
30
31 if [ $originator_interval ]; then
32 batman_args=${batman_args}'-o '$originator_interval' '
33 fi
34
35 if [ $preferred_gateway ]; then
36 batman_args=${batman_args}'-p '$preferred_gateway' '
37 fi
38
39 if [ $routing_class ]; then
40 batman_args=${batman_args}'-r '$routing_class' '
41 fi
42
43 if [ $visualisation_srv ]; then
44 batman_args=${batman_args}'-s '$visualisation_srv' '
45 fi
46
47 if [ $policy_routing_script ]; then
48 batman_args=${batman_args}'--policy-routing-script '$policy_routing_script' '
49 fi
50
51 if [ $disable_client_nat ]; then
52 batman_args=${batman_args}'--disable-client-nat '
53 fi
54
55 if [ $disable_aggregation ]; then
56 batman_args=${batman_args}'--disable-aggregation '
57 fi
58
59 batman_args=${batman_args}$interface
60 batmand $batman_args >/dev/null 2>&1
61 }
62
63 stop () {
64 killall batmand
65 }
66
67