hnetd: update to latest version
[feed/routing.git] / hnetd / files / hnetd.init
1 #!/bin/sh /etc/rc.common
2
3 # XXX - is there something that should cause reload? or can we just
4 # use info from netifd and let it handle dynamic changes? let's hope
5 # so..
6
7 START=90
8 STOP=10
9 USE_PROCD=1
10
11 DNSMASQ_DIR=/tmp/dnsmasq.d
12 DNSMASQ_SCRIPT=/etc/init.d/dnsmasq
13 OHP_SCRIPT=/usr/sbin/hnetd-ohp-script
14 OHP_BINARY=/usr/sbin/ohybridproxy
15 PCP_SCRIPT=/usr/sbin/hnetd-pcp-script
16 PCP_BINARY=/usr/sbin/minimalist-pcproxy
17
18 start_service() {
19 . /lib/functions.sh
20 . /lib/functions/network.sh
21 config_load hnet
22
23 mkdir -p $DNSMASQ_DIR
24 procd_open_instance
25 procd_set_param command /usr/sbin/hnetd
26
27 # SD parts are here (make configurable?)
28 if [ -f $OHP_BINARY -a -f $DNSMASQ_SCRIPT ]
29 then
30 mkdir -p $DNSMASQ_DIR
31 procd_append_param command -d $DNSMASQ_SCRIPT
32 procd_append_param command -f $DNSMASQ_DIR/hnet.conf
33 procd_append_param command -o $OHP_SCRIPT
34 HOSTNAME=`cat /proc/sys/kernel/hostname`
35 if [ -n "$HOSTNAME" ]
36 then
37 procd_append_param command -n "$HOSTNAME"
38 fi
39 fi
40
41 # Enable PCP, if it's present
42 if [ -f $PCP_BINARY -a -f $PCP_SCRIPT ]
43 then
44 procd_append_param command -c $PCP_SCRIPT
45 fi
46
47 # State file
48 config_get val pa persistent_store
49 procd_append_param command -s ${val:-/tmp/hnetd.pa_state}
50
51 # Routing script
52 procd_append_param command -r /usr/sbin/hnetd-routing
53
54 config_get val pa ip4prefix
55 [ -n "$val" ] && procd_append_param command --ip4prefix $val
56
57 config_get val pa ulaprefix
58 [ -n "$val" ] && procd_append_param command --ulaprefix $val
59
60 config_get val pa ulamode
61 [ -n "$val" ] && procd_append_param command --ulamode $val
62
63 config_get val sd router_name
64 [ -n "$val" ] && procd_append_param command -n $val
65
66 config_get val sd domain_name
67 [ -n "$val" ] && procd_append_param command -m $val
68
69 # For more verbose logging, uncomment this:
70 #procd_append_param command --loglevel 7
71
72 procd_set_param respawn
73 procd_close_instance
74 }