config defaults olsr_interface
- option HelloInterval 6.0
- option HelloValidityTime 108.0
- option TcInterval 4.0
- option TcValidityTime 324.0
- option MidInterval 18.0
- option MidValidityTime 324.0
- option HnaInterval 18.0
- option HnaValidityTime 108.0
config community leipzig
echo "* * * * * /usr/sbin/ff_olsr_test_gw" >> /etc/crontabs/root
}
+ grep -q '/usr/sbin/ff_olsr_watchdog' /etc/crontabs/root || {
+ echo "*/5 * * * * /usr/sbin/ff_olsr_watchdog" >> /etc/crontabs/root
+ }
+
[ -f /etc/rc.local ] && . /etc/rc.local
[ -d /etc/rc.local.d ] && {
for file in /etc/rc.local.d/*; do
--- /dev/null
+#!/usr/bin/lua
+
+require "os"
+require "io"
+require "uci"
+require "posix"
+
+if posix.access("/var/run/olsrd.pid") then
+ local stamp, intv
+ local x = uci.cursor()
+
+ x:foreach("olsrd", "LoadPlugin",
+ function(s)
+ if s.library == "olsrd_watchdog.so.0.1" then
+ intv = tonumber(s.interval)
+ stamp = s.file
+ end
+ end)
+
+ if intv and posix.access(stamp) then
+ local systime = os.time()
+ local wdgtime = tonumber(io.lines(stamp)())
+
+ if not wdgtime or ( systime - wdgtime ) > intv then
+ os.execute("logger -t 'OLSR watchdog' 'Process died - restarting!'")
+ os.execute("/etc/init.d/olsrd restart")
+ end
+ end
+end