5f255ed419942717f9097ee3228504b83ccb40c9
[lede-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         announce=$(uci get batmand.general.announce)
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         batman_args=""
19
20         if [ $announce ]; then
21                 batman_args=${batman_args}'-a '$announce' '
22         fi
23
24         if [ $gateway_class ]; then
25                 batman_args=${batman_args}'-g '$gateway_class' '
26         fi
27
28         if [ $originator_interval ]; then
29                 batman_args=${batman_args}'-o '$originator_interval' '
30         fi
31
32         if [ $preferred_gateway ]; then
33                 batman_args=${batman_args}'-p '$preferred_gateway' '
34         fi
35
36         if [ $routing_class ]; then
37                 batman_args=${batman_args}'-r '$routing_class' '
38         fi
39                 
40         if [ $visualisation_srv ]; then
41                 batman_args=${batman_args}'-s '$visualisation_srv' '
42         fi
43         
44         if [ $policy_routing_script ]; then
45                 batman_args=${batman_args}'--policy-routing-script '$policy_routing_script' '
46         fi
47
48         batman_args=${batman_args}$interface
49         batmand $batman_args >/dev/null 2>&1
50 }
51
52 restart () {
53         $0 stop
54         sleep 3
55         $0 start
56 }
57         
58 stop () {
59         killall batmand
60 }