3 # Setzen aller fuer Opennet relevanten olsr-Einstellungen.
5 # Dieses Skript wird nur ein einziges Mal nach einem Upgrade oder der Erstinstallation ausgefuehrt:
6 # http://wiki.openwrt.org/doc/uci#defaults
10 .
"${IPKG_INSTROOT:-}/usr/lib/opennet/on-helper.sh"
13 configure_olsrd_httpinfo_port() {
14 trap
"error_trap configure_olsrd_httpinfo_port '$*'" $GUARD_TRAPS
18 # add and activate httpinfo plugin
19 uci_prefix=$(get_and_enable_olsrd_library_uci_prefix
"httpinfo")
20 # Wir koennen leider nicht zwischen
"Nutzer hat 1978 eingestellt" und
"Auslieferungszustand" unterscheiden.
21 # Falls der Nutzer also explizit diesen Port will, dann muss er ihn nach einem Upgrade wieder einstellen.
22 [
"$(uci_get "${uci_prefix}.port
" "1978
")" =
"1978" ] && uci set
"${uci_prefix}.port=$OLSR_HTTP_PORT"
27 # das txtinfo-Modul ist notwendig fuer die Dienstverwaltung (Routen-Entfernung)
28 olsrd_enable_txtinfo() {
29 trap
"error_trap olsrd_enable_txtinfo '$*'" $GUARD_TRAPS
31 uci_prefix=$(get_and_enable_olsrd_library_uci_prefix
"txtinfo")
32 uci set
"${uci_prefix}.ignore=0"
36 # das jsoninfo-Modul ist notwendig fuer die luci-Integration von olsrd
37 # (nett, aber unwichtig)
38 olsrd_enable_jsoninfo() {
39 trap
"error_trap olsrd_enable_jsoninfo '$*'" $GUARD_TRAPS
41 uci_prefix=$(get_and_enable_olsrd_library_uci_prefix
"jsoninfo")
42 uci set
"${uci_prefix}.ignore=0"
46 olsrd_enable_ondataservice() {
47 trap
"error_trap enable_ondataservice '$*'" $GUARD_TRAPS
50 # schon vorhanden? Unberuehrt lassen ...
51 uci -q show olsrd | grep -q ondataservice &&
return
53 # add and activate ondataservice plugin
54 uci_prefix=$(get_and_enable_olsrd_library_uci_prefix
"ondataservice_light")
55 uci set
"${uci_prefix}.interval=10800"
56 uci set
"${uci_prefix}.inc_interval=5"
57 uci set
"${uci_prefix}.database=/tmp/database.json"
58 # Wir setzen
"ignore" nicht explizit auf
"0", da es nicht unbedingt erforderlich ist und
59 # im Unterschied zu den relevanten olsrd-Plugins nicht zu erwarten ist, dass es zuvor
60 # bereits existierte. Falls also
"ignore" auf
"1" gesetzt ist, dann war es eine bewusste
61 # Entscheidung des Nutzers.
65 olsrd_enable_nameservice() {
66 trap
"error_trap enable_nameservice '$*'" $GUARD_TRAPS
70 # fuer NTP, DNS und die Gateway-Auswahl benoetigen wir das nameservice-Plugin
72 uci_prefix=$(get_and_enable_olsrd_library_uci_prefix
"nameservice")
73 if [ -z
"$uci_prefix" ]; then
74 msg_info "Failed to find olsrd_nameservice plugin"
76 # Option 'services-change-script' setzen
77 current_trigger=$(uci_get
"${uci_prefix}.services_change_script" ||
true)
78 [ -n
"$current_trigger" ] && [
"$current_trigger" !=
"$OLSR_NAMESERVICE_SERVICE_TRIGGER" ] && \
79 msg_info "WARNING: overwriting 'services-change-script' option of olsrd nameservice plugin with custom value. You should place a script below /etc/olsrd/nameservice.d/ instead."
80 uci set
"${uci_prefix}.services_change_script=$OLSR_NAMESERVICE_SERVICE_TRIGGER"
81 uci set
"${uci_prefix}.ignore=0"
86 # erwuenschte Einstellungen setzen
87 olsrd_enable_ondataservice
88 olsrd_enable_nameservice
89 disable_missing_olsr_modules
92 configure_olsrd_httpinfo_port
"$OLSR_HTTP_PORT"
96 # Neuinitialisierung des Policy-Routing - auch nach einer Paket-Installation hilfreich
olsr_sync_routing_tables()
Synchronisiere die olsrd-Routingtabellen-Konfiguration mit den iproute-Routingtabellennummern.
msg_info(message)
Informationen und Fehlermeldungen ins syslog schreiben.
initialize_olsrd_policy_routing()
Policy-Routing-Initialisierung nach dem System-Boot und nach Interface-Hotplug-Ereignissen.