1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2008-2013 OpenWrt.org
4 .
$IPKG_INSTROOT/lib
/functions
/olsrd.sh
10 CONF
=/var
/etc
/$OLSRD.conf
11 PID
=/var
/run
/olsrd6.pid
15 ubus
-t 15 wait_for network.interface.
$1 2>/dev
/null
21 config_foreach wait_for_network interface
22 rc_procd start_service
26 olsrd_generate_config
$OLSRD
31 local _respawn_threshold
32 local _respawn_timeout
35 config_get _respawn_threshold general _respawn_threshold
3600
36 config_get _respawn_timeout general respawn_timeout
15
37 config_get _respawn_retry general respawn_retry
0
39 procd_set_param
command "$BIN"
40 procd_append_param
command -f ${CONF}
41 procd_append_param
command -nofork
42 procd_append_param
command -pidfile ${PID}
44 # restart if olsrd dies
45 procd_set_param respawn
$_respawn_threshold $_respawn_timeout $_respawn_retry
47 # automatically restart olsrd if generated cfg has changed
48 procd_set_param
file $CONF
50 procd_set_param pidfile
$PID
54 olsrd_setup_smartgw_rules
58 # reload if config changed via uci
59 procd_add_reload_trigger
"olsrd6"
61 # restart on ifup interface events
62 for n
in $
(olsrd_list_configured_interfaces
$OLSRD); do
63 procd_add_reload_interface_trigger
$n /etc
/init.d
/$OLSRD reload