contrib/meshwizard: Fix getting of mac address when the interface is not up yet,...
[project/luci.git] / contrib / package / meshwizard / files / usr / bin / meshwizard / helpers / setup_olsrd.sh
index b4de9ce..2925869 100755 (executable)
@@ -4,16 +4,30 @@
 . /etc/functions.sh
 . $dir/functions.sh
 
-# Rename interface defaults
+#Rename olsrd basic settings
+handle_olsrd() {
+       if [ -z "${1/cfg[0-9a-fA-F]*/}" ]; then
+               section_rename olsrd $1 olsrd
+       fi
+}
+config_load olsrd
+config_foreach handle_olsrd olsrd
 
+# Rename interface defaults
 handle_interfacedefaults() {
        if [ -z "${1/cfg[0-9a-fA-F]*/}" ]; then
                section_rename olsrd $1 InterfaceDefaults
        fi
 }
-config_load olsrd
 config_foreach handle_interfacedefaults InterfaceDefaults
 
+# Set basic olsrd settings
+if [ "$profile_ipv6" = 1 ]; then
+       uci set olsrd.olsrd.IpVersion="6and4"
+fi
+uci_commitverbose "Setup olsr basic settings" olsrd
+
+
 # Setup new InterfaceDefaults
 uci set olsrd.InterfaceDefaults=InterfaceDefaults
 set_defaults "olsr_interfacedefaults_" olsrd.InterfaceDefaults
@@ -50,12 +64,20 @@ uci_commitverbose "Setup olsr nameservice plugin" olsrd
 # Setup dyngw_plain
 
 # If Sharing of Internet is enabled then enable dyngw_plain plugin
-sharenet=$(uci -q get meshwizard.general.sharenet)
 
-if [ "$sharenet" == 1 ]; then
+if [ "$general_sharenet" == 1 ]; then
        uci set olsrd.dyngw_plain=LoadPlugin
        uci set olsrd.dyngw_plain.ignore=0
        uci set olsrd.dyngw_plain.library="olsrd_dyn_gw_plain.so.0.4"
 
        uci_commitverbose "Setup olsrd_dyngw_plain plugin" olsrd
 fi
+
+# Setup watchdog
+uci batch << EOF
+       set olsrd.olsrd_watchdog=LoadPlugin
+       set olsrd.olsrd_watchdog.library="olsrd_watchdog.so.0.1"
+       set olsrd.olsrd_watchdog.file="/var/run/olsrd.watchdog"
+       set olsrd.olsrd_watchdog.interval=30
+EOF
+uci_commitverbose "Setup olsr watchdog plugin" olsrd